Настройка SSO провайдера Keycloak (OAuth)

Настраивайте вход в личный кабинет и на онлайн-мероприятия с использованием провайдера Keycloak для протокола авторизации OAuth 2.0

Обновлено на этой неделе

Если вы используете Keycloak для аутентификации и авторизации пользователей, то теперь вы можете настроить возможность входа на онлайн-мероприятия и в личный кабинет МТС Линк с использованием протокола OAuth 2.0.

Keycloak — продукт с открытым кодом для реализации SSO с возможностью управления доступом. Обеспечивает аутентификацию и авторизацию пользователей.

Инструкции для других провайдеров идентификации:

На текущий момент функционал находится на стадии тестирования и постепенного релиза.

Если вы хотите получить ранний доступ, пожалуйста, обратитесь к персональному менеджеру или в службу технической поддержки.

Для настройки необходимо выполнить следующие действия.

Шаг 1. Настраиваем связь МТС Линк и Keycloak

  1. Заходим в учетную запись администратора Keycloak и в левом верхнем углу выбираем нужную группу пользователей (Realm):

    Или создаем новую, нажав на "Create realm". При создании есть возможность загрузить файл JSON, включающий данные о пользователях, ролях, группах, клиентах, настройках аутентификации и так далее.

  2. В разделе "Clients" выбираем нужный клиент и открываем его по двойному клику мыши:

  3. На вкладке "Settings" понадобится параметр "Client ID":

  4. На вкладке "Credentials" понадобится параметр "Client secret":

Шаг 2. Подтверждаем домен и завершаем настройки на стороне МТС Линк

  1. Подтверждение необходимо, чтобы только вы могли использовать ваш домен для SSO в МТС Линк. Подробнее об этом читайте в статьях Подтверждение домена для SSO и Настройка SSO.
    ВАЖНО: без подтвержденного домена функционал работать не будет!

  2. Заходим в личный кабинет МТС Линк, переходим в подраздел "Настройки SSO" раздела "Бизнес". Выбираем протокол OAuth, Keycloak в качестве SSO провайдера и вставляем данные из пунктов 3 и 4 первого шага настроек в соответствующие поля — "Идентификатор приложения (Client id)" и "Секретный ключ приложения (Client secret)", в поле "Базовый URL-адрес" указываем адрес вида "https://example.ru/realms/master" и нажимаем "Далее":

  3. Копируем значение "Valid redirect URIs" и нажимаем "Далее":

  4. На стороне Keycloak добавляем его в одноименное поле раздела "Clients" на вкладке "Settings":

  5. В личном кабинете МТС Линк указываем домен электронной почты, чтобы пользователи с этим доменом направлялись на страницу вашего провайдера идентификации, и нажимаем "Добавить":

Шаг 3. Проверяем корректность настроек перед началом использования

После выполнения всех необходимых действий можно проверить их корректность, нажав на кнопку "Проверить работу" в подразделе "Настройки SSO" раздела "Бизнес" личного кабинета МТС Линк:

Если есть ошибка в значении Client id, вас перебросит на страницу входа в Keycloak со следующим сообщением:

Проверьте и введите корректное значение Client id!

Если указан неверный секретный ключ приложения, будет выводиться сообщение следующего вида:

Проверьте и введите корректное значение Client secret!

Если не был подтвержден домен, ошибка будет иметь следующий вид:

Ну а если все данные были введены правильно, появится сообщение об успешной проверке:

Готово!

Нашли ответ на свой вопрос?