> For the complete documentation index, see [llms.txt](https://docs.aamsystems.ru/passoffice/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.aamsystems.ru/passoffice/passoffice-guide/admin-guide-doc/acs-configuration/acs-openid.md).

# Конфигурирование интеграции с OpenID

Выполните следующие шаги под учетной записью администратора PassOffice.

**Настройка PassOffice:**

**1. Запуск сервера PassOffice:** Запустите сервер PassOffice, используя файл `PassOfficeSrv.bat`.

**2. Авторизация в PassOffice:** Откройте браузер, введите адрес сервера PassOffice (например, `localhost:80`) и авторизуйтесь под учетной записью администратора.

**3**. **Переход к настройкам интеграции:** Откройте пункт меню «Администрирование / Настройки интеграции».

**4. Редактирование настроек 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`: задайте значения тайм-аутов для соединения и чтения данных.

• **Вкладка «SSL»:**

* Добавьте сертификат для защищенного соединения.
* Поддерживаются сертификаты x509, хранилища JKS и PKCS12.
* Включите настройку "Упрощенная проверка" для отключения проверки хоста и домена.

• **Вкладка «Настройки операторов»:**

* *Соответствие настроек оператора в 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.

```properties
Фамилия=sn
Почта=mail
Логин=userPrincipalName
Телефон=telephoneNumber
Рабочий телефон=telephoneNumber
Комната=physicalDeliveryOfficeName
Отдел=department
Должность=title
Организация=Company
Страна=co
```

• В каждом поле задайте стратегия разрешения конфликтов при обнаружении совпадений:

* *Сторонняя система, очищать -* если поле есть и в PassOffice и в СКУД, то оно будет заменено на соответствующее из СКУД. Если поле есть в PassOffice, но нет в СКУД, то поле в PassOffice будет очищено. Если каких-то полей нет в PassOffice, но есть в СКУД, то оно заменится на соответствующее из СКУД.
* *Сторонняя система, дополнять -* если поле есть и в PassOffice и в СКУД, то оно будет заменено на соответствующее из СКУД. Если поле есть в PassOffice, но нет в СКУД, то поле отгрузится из PassOffice. Если каких-то полей нет в PassOffice, но есть в СКУД, то оно заменится на соответствующее из СКУД.
* *Бюро пропусков -* данные в PassOffice сохраняются, даже если они отличаются от данных в AD. Если каких-то полей нет в PassOffice, но есть в Active Directory, то они заменяются на соотвествующие из Active Directory.

**Тест соединения:** обязательно проведите тест соединения после ввода параметров.

* **Успешный тест:** активируйте настройки соединения с OpenID.
* **Ошибка:** проверьте логи сервера PassOffice для выявления и устранения проблемы.

• **Реактивация/Деактивация соединения:** используйте соответствующие кнопки для управления состоянием соединения с OpenID.

• **Вкладка «Соответствие категорий»:**

* *Соответствие категорий оператора в PassOffice и группы Active Directory:* установите соответствие между группами AD и категориями в PassOffice или укажите категорию по умолчанию.

• **Вкладка «Профили операторов»:**

* Задайте соответствие группы AD и профиля оператора в PassOffice.
