Введение
OpenAM умеет аутентифицировать пользователей через различных OAuth 2.0 провайдеров. И Одноклассники не исключение. Пусть этот сервис не пользуется большой популярностью среди близких к IT людям, но им могут пользоваться большинство ваших клиентов. Поэтому в данной статье мы настроим вход через этот сервис.
Создание и настройка приложения
Создайте приложение, как описано в документации https://apiok.ru/dev/app/create
В разделе “Настройки внешнего приложения” укажите URL вашего сайта и список разрешенных redirect_uri. Аналогичный redirect_uri должен быть указан в OpenAM при дальнейшей настройке.
redirect_uri должен быть в формате <URI OpenAM>/oauth2c/OAuthProxy.jsp
, например, http://openam.example.org:8080/openam/oauth2c/OAuthProxy.jsp
Установка и настройка OpenAM
Как запустить OpenAM написано тут.
Настройка OpenAM
Откройте консоль администратора OpenAM по ссылке http://openam.example.org:8080/openam/XUI. В поле логин введите значение amadmin
в поле пароль введите значение пароля, заданное в процессе установки OpenAM. В данном случае — passw0rd
.
В основном меню перейдите Top Level Realm. В меню слева перейдите Authentication → Modules и создайте новый модуль аутентификации ok
. Тип модуля — OAuth 2.0 / OpenID Connect.
Заполните настройки модуля, согласно таблице:
Настройка |
Значение |
---|---|
Client Id |
Application ID приложения Одноклассники |
Client Secret |
Секретный ключ приложения Одноклассники |
Authentication Endpoint URL |
|
Access Token Endpoint URL |
|
User Profile Service URL |
|
Scope |
VALUABLE_ACCESS |
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 |
uid=uid |
Attribute Mapper Configuration |
first_name=givenName last_name=sn uid=uid |
OpenID Connect validation configuration type |
client_secret |
Prompt for password setting and activation code |
false |
Нажмите кнопку Save
Создайте цепочку аутентификации ok
. В консоли администратора откройте Top Level Realm. В меню слева перейдите Authentication → Chains и создайте новую цепочку аутентификации.
Проверка решения
Выйдите из консоли администратора или откройте браузер в режиме “Инкогнито” и откройте ссылку http://openam.example.org:8080/openam/XUI/?service=ok
Вас перенаправит в форму аутентификации Одноклассников, а после — запрос на доступ к данным.
После согласия, вы будете перенаправлены обратно в OpenAM с учетными данными пользователя Одноклассников.
ссылка на оригинал статьи https://habr.com/ru/articles/862258/
Добавить комментарий