ВКонтакте (VK) - одна из самых, если на самая, популярная социальная сеть в российском сегменте. И в этой статье мы настроим аутентификацию в OpenAM через VK по протоколу OAuth 2.0
<URI OpenAM>/oauth2c/OAuthProxy.jsp
, например, https://openam.example.org/openam/oauth2c/OAuthProxy.jsp
Как запустить OpenAM написано тут.
Откройте консоль администратора OpenAM по ссылке https://openam.example.org/openam/XUI. В поле логин введите значение amadmin
в поле пароль введите значение пароля, заданное в процессе установки OpenAM. В данном случае - passw0rd
.
В основном меню перейдите Top Level Realm.
В меню слева перейдите Authentication → Modules и создайте новый модуль аутентификации vk
. Тип модуля - OAuth 2.0 / OpenID Connect.
Заполните настройки модуля, согласно таблице:
Настройка | Значение |
---|---|
Client Id | ID приложения ВКонтакте |
Client Secret | Защищенный ключ приложения ВКонтакте |
Authentication Endpoint URL | https://oauth.vk.com/authorize |
Access Token Endpoint URL | https://oauth.vk.com/access_token |
User Profile Service URL | https://api.vk.com/method/users.get |
Scope | userinfo |
OAuth2 Access Token Profile Service Parameter name | access_token |
Proxy URL | Redirect URI, который был указан при создании приложения. https://openam.example.org/openam/oauth2c/OAuthProxy.jsp |
Account Mapper Configuration | id=uid |
Attribute Mapper Configuration | id=uid last_name=sn first_name=givenName |
OpenID Connect validation configuration type | client_secret |
Prompt for password setting and activation code | false |
Нажмите кнопку Save
Создайте цепочку аутентификации vk
. В консоли администратора откройте Top Level Realm. В меню слева перейдите Authentication → Chains и создайте новую цепочку аутентификации.
Выйдите из консоли администратора или откройте браузер в режиме “Инкогнито” и откройте ссылку https://openam.example.org/openam/XUI/?service=vk
Вас перенаправит в форму аутентификации vk, а после - запрос на доступ к данным.
После согласия, вы будете перенаправлены обратно в OpenAM с учетными данными пользователя ВКонтакте.