Конфигурирование интеграции с OpenID
В статье «Конфигурирование интеграций» описаны общие принципы и одинаковые настройки для всех СКУД, а в данной статье рассмотрены только специфические особенности интеграции с системой OpenID.
Редактирование настроек OpenID:
- Основные параметры:
ADFS discovery document URL: URL, по которому можно получить метаданные OpenID Connect (например,https://example.com/.well-known/openid-configuration). Это позволяет PassOffice автоматически обнаружить endpoints авторизации, токена и userInfo.Идентификатор клиента (Client ID):идентификатор клиента, выданный PassOffice Identity Provider'ом (ADFS или другим).Алгоритм генерации токена:алгоритм, используемый для подписи токенов (например, RS256, ES256).Connection timeout и Read timeout: задайте значения тайм-аутов для соединения и чтения данных.
Вкладка «Настройки операторов»
- Соответствие настроек оператора в PassOffice и группы Active Directory: установите соответствие между группами AD и предустановленными "Настройками оператора" в PassOffice.
Вкладка «Настройки внешнего вида»
- Соответствие настроек оператора в PassOffice и группы Active Directory: установите соответствие между группами AD и предустановленными "Настройками внешнего вида" в PassOffice.
В случае, если у пользователя несколько групп, подходящих под отображение, ему будут присвоены те настройки оператора, которые в таблице указаны выше.
Вкладка «Саморегистрация»
- Разрешать саморегистрацию: если флажок установлен, пользователи смогут создавать учетные записи PassOffice при первом входе через OpenID. Укажите настройки по умолчанию для вновь созданных учетных записей.
- Период синхронизации оператора - укажите значение в минутах
- Категория при саморегистрации - укажите категорию по умолчанию.
Вкладка «Данные»
- Active Directory: используйте Active Directory в качестве источника данных для атрибутов пользователя. Это предполагает, что Identity Provider (например, ADFS) настроен для получения информации из AD.
- JWT Token: используйте JWT (JSON Web Token), полученный от Identity Provider'а, для получения атрибутов пользователя. В этом случае, необходимо настроить сопоставление клеймов JWT с полями PassOffice.
- Определите, каким полям в PassOffice соответствуют атрибуты в OpenID. Например:
ФИО=displayName,Имя=givenName,GivenName(поиск ведется сначала в поле givenName, а затем, если оно не заполнено, в поле GivenName).
Пример конфигурирования:
ID=objectGUID
Фамилия=sn
Почта=mail
Логин=userPrincipalName, SAMAccountName
Телефон=telephoneNumber
Рабочий телефон=telephoneNumber
Комната=physicalDeliveryOfficeName
Отдел=department
Должность=title
Организация=Company
Страна=co
Активность=userAccountControl
Обязательно необходимо указать соответствие ID.
В настройках ADFS на вкладке "Issue Transform Rules" добавьте правило Send User GUID:
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname"]
=> issue(store = "Active Directory", types = ("objectGUID"), query = ";objectGUID;{0}", param = c.Value);
Вкладка «Соответствие категорий»
- Соответствие категорий оператора в PassOffice и группы Active Directory: установите соответствие между группами AD и категориями в PassOffice или укажите категорию по умолчанию.
Вкладка «Профили операторов»
- Задайте соответствие группы Issue Transform Rules в ADFS и профиля оператора в PassOffice.
Настройка интеграции с Keycloak
Настройка интеграции с Keycloak выполняется аналогично описанной выше настройке OpenID, за исключением следующих отличий:
-
ADFS discovery document URL имеет формат:
text
https://<keycloak-host>/realms/<realm-name>/.well-known/openid-configuration -
Атрибуты пользователя — используются стандартные атрибуты Keycloak:
preferred_username— для логинаdisplayName— для ФИОgiven_name— для имениfamily_name— для фамилииemail— для почты
-
Группы настраиваются в разделе Groups Keycloak. Для передачи групп в токен требуется добавить маппер типа Group Membership в настройках клиента Keycloak.