Удалённая аутентификация (Single Sign-On)

Последние изменения: 17.11.2023

При регистрации на сервисе вы получаете центр поддержки. Он позволяет вашим клиентам обращаться за помощью, просматривать предыдущие заявки, знакомиться со статьями базы знаний и оставлять предложения по улучшению товаров или услуг.

Вещь, безусловно, полезная. Однако до недавних пор не все спешили её использовать. Во-первых, центр поддержки открыт для любого пользователя, что в определённых ситуациях нежелательно. Во-вторых, для совершения ключевых действий требуется регистрация.

Удалённая аутентификация решает обе проблемы. Она упрощает жизнь клиентам и предоставляет вам больше контроля над центром поддержки.

Функциональность доступна по пути: аккаунт администратора — раздел «Центр поддержки» — подраздел «Аутентификация». Рассмотрим подробнее его настройки и варианты применения.

1. Стандартная аутентификация от Омнидеска

9941ebfdb13952aad96f03be03cb059b.png

Этот тип аутентификации активен по умолчанию. При его использовании аккаунты клиентов на вашем сервисе и на Омнидеске не связаны между собой. В центре поддержки нужно регистрироваться отдельно, причем это может сделать любой желающий. Запретить регистрацию нельзя.

В качестве бонуса мы добавили опцию отображения центра поддержки только для авторизированных пользователей. В этом случае при переходе по ссылке центра поддержки отображается форма для авторизации:

2ab51cc49089c8b783ab2d83a0b52744.png

Данную опцию не следует рассматривать как ограничение доступа к центру поддержки. «Ленивых» пользователей она отпугнёт, но в форме есть как регистрация, так и вход через соцсети. В большей степени этот вариант предназначен для сбора основных данных пользователей. Плюс ко всему вы облегчаете клиентам работу с центром поддержки — вход уже выполнен, и они могут совершать любые действия.

2. Удалённая аутентификация

Настроить этот тип аутентификации сложнее, но он удобнее во многих аспектах. У него есть два основных применения: ограничение доступа к центру поддержки и избавление клиентов от двойной авторизации.

К примеру, вы хотите сделать закрытую базу знаний и размещать в ней материалы исключительно для платных клиентов. Для решения этой задачи нужно настроить Single Sign-On и скрыть центр поддержки от посторонних глаз с помощью опции «Центр поддержки доступен только авторизированным пользователям».

5bcf7077d9871013bbbfc30d85aa572f.png

В итоге клиенты смогут попасть в центр поддержки только после входа в личный кабинет на вашем сервисе. Соответственно, вы сами решаете, кто из них видит базу знаний, а кто — нет.

Если же оставить неактивной опцию «Центр поддержки доступен только авторизированным пользователям», доступ к базе знаний и предложениям будет у всех, но войти смогут только ваши клиенты. В этом случае при нажатии на ссылку «Войти» (в правом верхнем углу центра поддержки) осуществляется переадресация на страницу, указанную в поле «URL удалённого входа».

Личный кабинет клиента на вашей стороне

Если на вашем сервисе у клиента нет личного кабинета, ничего страшного. Вы можете создать обычную форму авторизации для проверки вводимых пользователем данных и последующего входа в центр поддержки (если он является клиентом).

Инструкция по JWT

1. Информация по JWT + пример использования JWT.

2. Поля, которые мы принимаем через JWT:

  • iat (обязательное) — Issued At (время, когда токен был сгенерирован);

  • email (обязательное) — email-адрес пользователя;

  • name (не обязательное) — имя пользователя;

  • external_id (не обязательное) — внешний id пользователя;

  • company_name (не обязательное) — название компании пользователя;

  • company_position (не обязательное) — должность пользователя;

  • remote_photo_url (не обязательное) — url аватарки (допустимые форматы: jpg, jpeg, gif, png, webp);

  • exp (не обязательное) - время, в течение которого запрос действителен.

3. Данные клиента необходимо передавать JWT запросом по адресу: https://[yourcompany].omnidesk.ru/access/jwt?jwt=[jwt_payload], где вместо «jwt_payload» подставляется закодированная при помощи маркера строка.

Если вы используете собственный поддомен, то первую часть адреса (https://[yourcompany].omnidesk.ru) нужно заменить.

4. При удачном JWT запросе возвращается адрес для «принудительного логина» с кодом 200. Если произошла ошибка, ответ возвращается с кодом 401 и содержанием ошибки.

Прочие нюансы

1. Вне зависимости от типа аутентификации, при включённой опции «Центр поддержки доступен только авторизированным пользователям», индексирование центра поддержки отключается.

2. Если выбран SSO, и пользователь первый раз пишет на email-адрес службы поддержки, пароль в письме-уведомлении не указывается. Ссылка на обращение остаётся, но при переходе по ней пользователь направляется на вашу страницу авторизации (если пользователь ещё не залогинен).

3. Данные пользователя, передаваемые вами через JWT (JSON Web Token, веб-маркер JSON), затирают данные, которые хранятся у нас. Поэтому, если не нужно изменять данные пользователя, в JWT-запросе следует передавать только email-адрес.

4. Если для идентификации клиента вы используете уникальный ID, мы обновляем/указываем его, когда не находим ID из запроса, но находим email-адрес. В такой ситуации для найденного адреса прописывается external_id из вашего запроса.

5. Если вы настраиваете удаленную аутентификацию, то когда пользователь авторизован, при создании обращения поля «Полное имя» и «Email-адрес» будут скрыты в форме отправки запроса. В профиле пользователя также будет скрыт блок смены пароля.

Помогла ли вам статья?