Перейти к основному содержимому
Версия: Indeed Access Manager 9.2

Интеграция с приложениями по протоколам OpenID Connect и OAuth 2.0

Для интеграции Identity Provider с приложениями по протоколам OpenID Connect и OAuth 2.0 используйте следующие параметры конфигурационного файла am/idp/app-settings.json.

Для получения метаданных сервера перейдите по ссылке: https://<dns_имя_сервера>/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.