SSO авторизация
Скопировать ссылку на статью
Скопировано

Содержание

  1. Как работает вход через SSO
  2. Вход через внешний IdP по OpenID Connect
  3. Авторизация через Яндекс ID и другие соцсети
  4. Частые вопросы по SSO

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

SSO также упрощает смену и восстановление пароля: данные аккаунта хранятся в едином сервисе авторизации.

Как работает вход через SSO

При попытке зайти в систему пользователь перенаправляется на адрес сервиса авторизации:

https://sso.retailcrm.tech

Дальнейшая последовательность действий:

  1. На странице SSO вводится email и пароль от учётной записи.
  2. Сервис авторизации определяет, к каким системам есть доступ, и показывает их в виде списка для быстрого входа.
  3. После выбора нужной системы выполняется переход в неё.

После успешного входа браузер запоминает сессию SSO, поэтому повторная авторизация в этом же браузере обычно не требуется.

Вход через внешний IdP по OpenID Connect

Внешний поставщик удостоверений (Identity Provider, IdP) по протоколу OpenID Connect (OIDC) используется вместо RetailCRM SSO. В этом режиме вход выполняется по прямому адресу CRM, а не через https://sso.retailcrm.tech.

Режим действует, только когда одновременно выполнены условия:

  • для установки со стороны RetailCRM активирована возможность common.oidc.available;
  • суперадминистратор включил настройку oidc.enabled;
  • возможность RetailCRM SSO common.sso.available не активна.

Если RetailCRM SSO продолжает использоваться, внешний OIDC недоступен. Активацию возможности необходимо предварительно согласовать с RetailCRM; внутренняя операция включения в этой инструкции не рассматривается. Настройки OIDC в CRM доступны только суперадминистратору.

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

Примечание

Этот раздел описывает вход через внешний OIDC в браузере. Указанная выше доступность RetailCRM SSO в мобильном приложении не распространяется автоматически на внешний OIDC.

Вход пользователя через внешний IdP

На прямой странице входа CRM отображаются поля email и пароля, а также кнопка «Войти через OpenID».

Форма входа в CRM с кнопкой «Войти через OpenID»

Для входа обычного пользователя:

  1. Откройте прямой адрес CRM.
  2. Нажмите «Войти через OpenID».
  3. Пройдите аутентификацию на стороне внешнего IdP.
  4. После подтверждения личности будет выполнен возврат в CRM.

Пользователь должен быть заранее создан и активирован в CRM. Автоматическое создание пользователей при входе через OIDC не выполняется. Порядок создания пользователя описан в статье «Основные настройки пользователя».

Парольный вход и восстановление пароля

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

Исключение относится только к аутентификации: при активном OIDC поля email и пароля в формах пользователя и профиля остаются недоступными для изменения, в том числе для учётных записей технической поддержки.

Восстановление пароля отключено для всех пользователей, включая учётные записи технической поддержки. После отключения OIDC снова применяются правила обычного парольного режима.

Первая привязка пользователя

Перед первым входом необходимо убедиться, что:

  • пользователь уже создан и активен в CRM;
  • внешний IdP возвращает email пользователя;
  • этот email совпадает с адресом, указанным при создании пользователя в CRM.

При первом успешном входе CRM находит пользователя по email и сохраняет связь с внешним IdP по идентификатору провайдера issuer и идентификатору пользователя subject. При последующих входах используется сохранённая связь, а новый пользователь CRM не создаётся.

Если пользователя с таким email в CRM нет, выполняется возврат на страницу входа с сообщением о том, что пользователь не найден. Точный текст сообщения может зависеть от локали интерфейса.

В интерфейсе CRM не предусмотрены отображение статуса связи с IdP, а также ручная отвязка или повторная привязка пользователя администратором.

Важно!

При первой привязке используется email, полученный от IdP. В текущей реализации значение claim email_verified не проверяется, поэтому на стороне IdP должен передаваться доверенный email пользователя.

Авторизация через Яндекс ID и другие соцсети

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

Кнопка входа через Яндекс ID отображается на странице авторизации SSO. При использовании этого способа авторизации:

  1. Пользователь нажимает кнопку «Войти с Яндекс».
  2. В этой же вкладке браузера происходит перенаправление на страницу Яндекс ID с запросом доступа к данным (или на форму входа, если пользователь ещё не авторизован в Яндекс ID в браузере).
  3. После подтверждения доступа сервис авторизации SSO получает данные профиля и пытается сопоставить их с уже привязанной учётной записью.

Если Яндекс ID уже привязан к учётной записи в SSO, вход будет выполнен автоматически, так же как при вводе логина и пароля. Если регистрация в системе выполнялась без авторизации через соцсети и Яндекс ID ещё не привязан к учётной записи, вход через Яндекс ID будет недоступен.

Привязка Яндекс ID к существующему аккаунту

Привязка соцсети выполняется в интерфейсе SSO на специальной странице.

  • Страница управления привязками соцсетей доступна по адресу:

    https://sso.retailcrm.tech/social

  • Перейти на неё можно напрямую по ссылке или из профиля пользователя в системе по ссылке на управление входом через соцсети (при переходе откроется страница SSO). Ссылка на управление входом через социальные сети в профиле пользователя RetailCRM

На странице SSO отображается список всех привязанных внешних аккаунтов. Здесь можно:

  • привязать соцсеть;
  • отвязать уже привязанный аккаунт.

Примечание

Создание новых аккаунтов выполняется только через лидформу на сайте RetailCRM. В SSO доступен вход в уже созданные аккаунты и управление привязками внешних сервисов.

Ошибка «Соцсеть не привязана ни к одному из аккаунтов»

Если при входе через Яндекс ID:

  1. авторизация в Яндекс ID проходит успешно;
  2. но для этого Яндекс ID ещё нет привязки в SSO,

на странице входа в SSO будет показана ошибка:

Соцсеть не привязана ни к одному из аккаунтов

В этом случае необходимо:

  1. Зайти в CRM другим доступным способом (например, по логину и паролю).
  2. Открыть профиль пользователя и перейти по ссылке для управления входом через соцсети (будет открыт интерфейс SSO по адресу https://sso.retailcrm.tech/social).
  3. На странице SSO привязать Яндекс ID к своей учётной записи.
  4. После успешной привязки повторно использовать кнопку «Войти с Яндекс» на странице входа.

Если регистрация изначально выполнялась через Яндекс ID, информация о привязке передаётся в SSO автоматически, и ошибка обычно не возникает. Подробнее процесс регистрации описан в отдельной статье о регистрации в RetailCRM.

Частые вопросы по SSO

Если в вопросе не указан внешний OIDC, ответ относится к RetailCRM SSO на https://sso.retailcrm.tech.

При попытке зайти в систему, в адресной строке отображается sso.retailcrm.tech. Что это такое?

Все правильно. Это адрес сервиса авторизации SSO. После ввода почты и пароля сервис поймёт, к каким системам у вас есть доступ, и добавит их в список для быстрого входа.

Почему при внешнем OIDC открывается страница входа самой CRM?

Внешний OIDC и RetailCRM SSO — разные режимы авторизации. При включённом внешнем OIDC RetailCRM SSO отключается, поэтому необходимо открывать прямой адрес CRM. На странице входа будут доступны парольные поля и кнопка «Войти через OpenID».

Можно ли при включённом внешнем OIDC войти по паролю или восстановить его?

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

Что делать, если CRM не нашла пользователя при входе через внешний OIDC?

Необходимо обратиться к администратору CRM и проверить, что пользователь заранее создан, активен, а его email совпадает с адресом, который внешний IdP возвращает при первом входе. OIDC не создаёт нового пользователя автоматически.

Я не помню пароль от учетной записи. Как мне его получить?

Необходимо пройти процесс восстановления пароля через email на странице входа в SSO.

Я помню email, на который зарегистрирован, но не имею к нему доступа. Как мне восстановить пароль?

Необходимо обратиться к администратору CRM. Администратор может сменить email на тот, к которому есть доступ, после чего станет доступно восстановление пароля через SSO.

Я не помню email от учетной записи. Как мне его получить?

Необходимо обратиться к администратору CRM. Администратор может либо напомнить email, либо сменить его на новый адрес, к которому есть доступ.

Я (администратор) не помню email от своей учетной записи. Как мне его получить?

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

Я (администратор) зашел в CRM и вижу, что могу поменять email не всем пользователям. От чего это зависит?

Администратор может изменить email только тем пользователям, которые ещё не входили через SSO. Для пользователей, уже авторизовавшихся через SSO, изменение email выполняется через сервис авторизации.

Я зашел в SSO, но список аккаунтов меньше, чем должен быть (или пустой). Как мне попасть в CRM, которых нет в списке?

Необходимо открыть в этом же браузере нужную CRM-систему по прямой ссылке (ввести адрес системы в строку браузера). После входа система будет добавлена в список доступных аккаунтов в интерфейсе SSO.

Получил письмо после создания системы «Доступ к вашему аккаунту», но в нем нет пароля

Технически невозможно прислать пароль к учётной записи, которая уже использовалась для создания системы, так как пароли не хранятся в открытом виде.

Пароль от учётной записи не меняется и отправляется только один раз — при первоначальном создании учётной записи в SSO. Если пароль утерян, необходимо воспользоваться формой восстановления пароля на странице входа в SSO.

При входе через Яндекс ID вижу ошибку «Соцсеть не привязана ни к одному из аккаунтов». Что делать?

Эта ошибка означает, что Яндекс ID ещё не привязан ни к одной учётной записи в SSO. Чтобы её устранить:

  1. Войдите в CRM любым другим способом (по логину и паролю или через другой доступный провайдер).
  2. Перейдите в профиль пользователя и откройте управление входом через соцсети.
  3. В открывшейся странице SSO привяжите Яндекс ID к своей учётной записи.
  4. Повторите попытку входа через Яндекс ID.

После успешной привязки ошибка больше не будет появляться.

При входе через Яндекс ID вижу ошибку «Подключение не было запрошено или время ожидания истекло». Что делать?

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

При входе через Яндекс ID вижу ошибку «Авторизация заблокирована со стороны провайдера». Что делать?

Эта ошибка означает, что ссылка авторизации повреждена или со стороны провайдера (например, Яндекс ID) были отозваны доступы для приложения RetailCRM. Необходимо проверить настройки доступа в аккаунте провайдера и при необходимости повторно разрешить доступ для RetailCRM, затем повторить попытку входа через Яндекс ID. Если ошибка сохраняется, следует обратиться в техническую поддержку.

Благодарим за отзыв.
Была ли статья полезна?
Нет
  • Рекомендации не помогли
  • Нет ответа на мой вопрос
  • Текст трудно понять
  • Не нравится описанный функционал
Да
Предыдущая статья
Регистрация в RetailCRM
Описание способов регистрации в RetailCRM: через форму на сайте и с использованием Яндекс ID. Указано, какие данные заполняются и что происходит после регистрации.