Аутентификация через mail.ru в OpenAM

от автора

Mail.ru — один из самых популярных сервисов электронной почты в России. Ежемесячная аудитория составляет более 50 млн пользователей. Поэтому ваши пользователи могут использовать свои учетные данные в mail.ru для аутентификации через OpenAM.

Создание и настройка приложения

У вас должен быть зарегистрированный почтовый ящик на mail.ru

  • Перейдите по ссылке управления приложениями  https://o2.mail.ru/app/.

  • Нажмите кнопку “Создать приложение”

  • Укажите имя приложения

  • При, желании вы можете загрузить изображение вашего приложения

  • redirect_uri должен быть в формате <URI OpenAM>/oauth2c/OAuthProxy.jsp , например, http://openam.example.org:8080/openam/oauth2c/OAuthProxy.jsp

  • Нажмите кнопку “Подключить сайт”

Mail.ru application settings

Mail.ru application settings
  • На странице редактирования приложения вы увидите Client Id и Client Secret. Они понадобятся вам при настройке OpenAM.

  • Убедитесь, что в разделе “Платформы” установлен чекбокс “Web”.

Mail.ru edit application

Mail.ru edit application

Установка и настройка OpenAM

Как запустить OpenAM написано тут.

Настройка OpenAM

Откройте консоль администратора OpenAM по ссылке http://openam.example.org:8080/openam/XUI. В поле логин введите значение amadmin в поле пароль введите значение пароля, заданное в процессе установки OpenAM. В данном случае — passw0rd.

В основном меню перейдите Top Level Realm. В меню слева перейдите Authentication → Modules и создайте новый модуль аутентификации mailru. Тип модуля — OAuth 2.0 / OpenID Connect.

OpenAM new Mail.ru authentication module

OpenAM new Mail.ru authentication module

Заполните настройки модуля, согласно таблице:

Настройка

Значение

Client Id

Client ID приложения mail.ru

Client Secret

Client Secret приложения mail.ru

Authentication Endpoint URL

https://oauth.mail.ru/login

Access Token Endpoint URL

https://oauth.mail.ru/token

User Profile Service URL

https://oauth.mail.ru/userinfo

Scope

email

OAuth2 Access Token Profile Service Parameter name

access_token

Proxy URL

Redirect URI, который был указан при создании приложения. http://openam.example.org:8080/openam/oauth2c/OAuthProxy.jsp

Account Mapper Configuration

id=uid email=mail

Attribute Mapper Configuration

id=uid email=mail last_name=sn first_name=givenName

OpenID Connect validation configuration type

client_secret

Prompt for password setting and activation code

false

Нажмите кнопку Save

Создайте цепочку аутентификации mailru . В консоли администратора откройте Top Level Realm. В меню слева перейдите Authentication → Chains и создайте новую цепочку аутентификации.

OpenAM Mail.ru authentication chain

OpenAM Mail.ru authentication chain

Проверка решения

Выйдите из консоли администратора или откройте браузер в режиме “Инкогнито” и откройте ссылку http://openam.example.org:8080/openam/XUI/?service=mailru

Вас перенаправит в форму аутентификации mail.ru, а после — запрос на доступ к данным.

Mail.ru user consent

Mail.ru user consent

После согласия, вы будете перенаправлены обратно в OpenAM с учетными данными пользователя mail.ru.

OpenAM mail.ru user profile

OpenAM mail.ru user profile


ссылка на оригинал статьи https://habr.com/ru/articles/869574/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *