Интеграция с приложениями по протоколам OpenID Connect и OAuth 2.0
Для интеграции Identity Provider с приложениями по протоколам OpenID Connect и OAuth 2.0 используйте следующие параметры конфигурационного файла am/idp/app-settings.json.
Для получения метаданных сервера перейдите по ссылке: https://<днс_сервера>/am/idp/.well-known/openid-configuration.
Параметр | Описание |
---|---|
CustomAttributes | В блоке указываются атрибуты ServiceProvider и Attributes (с параметрами Name и UserNameFormat ). |
ServiceProvider | Значение параметра соответствует ClientId из секции OIDC . |
Name | Определяет с каким ключом будет отображаться передаваемый атрибут в результате расшифровки значения IdToken или запроса к Userinfo. При этом если параметр Name не соответствует одному из возможных значений (email , name , family_name , given_name , middle_name ), то передаваемый атрибут не будет отображаться в ответе на запрос к Userinfo, но в расшифровке IdToken атрибут будет отображаться. |
UserNameFormat | Определяет какая информация о пользователе будет передана OIDC-клиенту. Данный параметр может принимать строго определенный перечень значений: Id, ObjectGUID, Name, CanonicalName, PrincipalName, SamCompatibleName, DistinguishedName, Sid, FirstName, MiddleName, LastName, Email, Phone. |
CertificateThumbprint | Указывается отпечаток сертификата Identity Provider. Сертификат загружается в хранилище компьютера, где установлен Indeed AM Identity Provider. |
Clients | В блоке указываются настройки для каждого клиентского приложения. Клиентских приложений может быть несколько. |
ClientId | Уникальный идентификатор, который используется для определения клиентского приложения при обмене токенов, а также для аутентификации и авторизации пользователя. Когда клиентское приложение запрашивает доступ к защищенным ресурсам, оно предоставляет свой ClientId вместе с другими учетными данными для получения токена доступа. Значение по умолчанию: example-client. |
ClientSecret | Представляет собой строку символов, которая известна только клиентскому приложению и серверу IDP. ClientSecret используется в процессе обмена токенов для подтверждения идентификации клиентского приложения. При запросе токена доступа клиент должен предоставить свой ClientId и ClientSecret для аутентификации. Значение по умолчанию: secret_secret_secret. |
DisplayName | Имя клиентского приложения. Используется для отображения информации в интерфейсе клиента. Значение по умолчанию: Example client application. |
Permissions | В блоке указываются атрибуты, которые будут разрешены приложению. После успешной аутентификации и предоставления разрешений приложение может использовать полученные данные. Данные, указанные в Permissions , могут быть переданы в ответе по протоколу OIDC (ept — Endpoints, gt — GrantTypes, rst — ResponseTypes, scp — Scopes). |
ept:authorization | Инициирование авторизации. |
ept:logout | Завершение сессии, связанной с токеном по идентификатору. |
ept:token | Используется для получения токена. |
gt:authorization_code | Используется для получения токенов (ID Token и Access Token) с помощью промежуточного кода авторизации. |
gt:refresh_token | Используется для получения нового токена доступа без необходимости повторной аутентификации пользователя. |
rst:code | Используется для получения кода авторизации. |
scp:email | Адрес электронной почты пользователя. |
scp:profile | Информация о профиле пользователя включает следующие компоненты: name , given_name , family_name , middle_name . |
scp:openid | Указывает, что клиентское приложение запрашивает аутентификацию пользователя. |
scp:offline_access | Позволяет клиентскому приложению запрашивать токен обновления (refresh token ). |
PostLogoutRedirectUris | Содержит допустимые URL-адреса, на которые перенаправляется пользователь после выхода из клиентского приложения. |
RedirectUris | Содержит допустимые URL-адреса, на которые перенаправляется пользователь после успешного входа в клиентское приложение. |
Requirements | Определяет дополнительные требования к клиентским запросам, которые должны быть выполнены для успешной аутентификации и авторизации пользователя. |
В следующей таблице перечислены атрибуты, которые Identity Provider передает клиентскому приложению после успешной аутентификации пользователя.
Параметр | Описание |
---|---|
exp | Определяет время, после которого ID Token не принимается. |
iat | Время выдачи JWT. |
sub | Уникальный идентификатор субъекта. В качестве значения указывается идентификатор пользователя. |
iis | Организация, выпустившая маркер. Указывается URL. |
aud | Адресат маркера, указывается client_id приложения, направившего запрос на аутентификацию. |
Подробнее о настройке интеграции с приложениями по протоколам OpenID Connect и OAuth 2.0 вы можете узнать в базе знаний в статье Настройка OIDC на примере Keycloak.