Перейти к основному содержимому

Конфигурирование интеграции с 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, за исключением следующих отличий:

  1. ADFS discovery document URL имеет формат:

    text

    https://<keycloak-host>/realms/<realm-name>/.well-known/openid-configuration
  2. Атрибуты пользователя — используются стандартные атрибуты Keycloak:

    • preferred_username — для логина
    • displayName — для ФИО
    • given_name — для имени
    • family_name — для фамилии
    • email — для почты
  3. Группы настраиваются в разделе Groups Keycloak. Для передачи групп в токен требуется добавить маппер типа Group Membership в настройках клиента Keycloak.