PassOffice
  • Документация PassOffice
    • Для администраторов
      • Установка PassOffice
        • Системные требования
          • Внешняя база данных PostgreSQL
        • Компоненты PassOffice
        • Лицензирование
        • Способы установки
          • Windows
            • Сервер
              • Сервер PassOffice как служба Windows
          • Docker
        • Использование SSL
        • Запуск сервера PassOffice
        • Методы поиска и диагностики неисправностей
        • Пути до временных директорий
        • Обслуживание PassOffice
          • Резервное копирование и восстановление базы данных PostgreSQL
          • Рекомендации по обслуживанию системы
        • Обновление PassOffice
          • Подготовка к обновлению
          • Обновление Windows-установки PassOffice
          • Обновление Docker-установки
          • Обновление структуры базы данных
          • Известные ошибки миграций
            • Ошибки миграции вторичного ключа
        • Создание сертификатов для TLS
      • Интеграции
        • Поддерживаемые версии СКД
        • Конфигурирование интеграции с СКД APACS
        • Конфигурирование интеграции с СКД LyriX
          • Импорт событий из LyriX
          • Задание типа пропуска в LyriX
        • Конфигурирование интеграции с СКД Bolid
        • Конфигурирование интеграции с СКД Parsec
        • Конфигурирование интеграции с СКД Sigur
        • Конфигурирование интеграции с СКД RusGuard
        • Конфигурирование интеграции с Active Directory
        • Конфигурирование интеграции с OpenID
        • Конфигурирование интеграции с DaData
        • Электронный журнал
        • Связи интеграций
          • Фильтр в связях интеграций
        • Настройка TLS для СКД
      • Картотека
        • Черный список посетителей
        • Конфликты
        • Исключения конфликтов
        • Фильтр в людях
      • Справочники
        • Формы организаций
        • Типы адресов
        • Цели посещения
        • Результаты согласований
        • Коды стран
        • Марки авто
        • Дополнительное поле справочника
        • Типы документов
        • Статусы пропусков
        • Организации
          • Создание отчета
          • Импорт из CSV
          • Объединение объектов
        • Категории
        • Должности
        • Подразделения
      • Учет пропусков
        • Активные пропуска
        • Заблокированные пропуска
        • Сломан
        • Утерян
        • Неизвестный
        • Фильтр для пропусков
      • Типовые отчеты
        • Отчет о выдачах
          • Фильтр в отчете о выдачах
        • Отчет о доступе
          • Фильтр в отчете о доступе
        • Отчет о согласованиях
          • Фильтр в отчете о согласованиях и реестре-заявки
        • Журнал выдач-приема карт
          • Фильтр в журнале выдач-приема карт
      • Доступ
        • Группы доступа
          • Фильтр для Групп доступа
        • Считыватели
        • Точки прохода
        • Терминалы
          • Поиск терминалов
        • Мониторы присутствия
        • Терминалы хранения
        • Парковки
        • Площадки
      • Реестр
        • Заявки
        • Архивные заявки
        • Люди
          • Синхронизировать из СКД
          • Объединение объектов
        • Пропуска
        • Документы
        • Адреса
        • Парковочные талоны
          • Фильтр для парковочных талонов
        • События
        • Аудит
          • Фильтр для аудита
      • Конфигурирование
        • Корень системы
        • Макеты карт
        • Настройки операторов
          • Заявки
            • Редактирование шаблона печати
          • Люди
          • Пропуска
          • Площадки
          • Документы
          • Уведомления
          • Операторы
          • Согласие на обработку персональных данных
        • Внешний вид
          • Отчеты
            • Доступные поля
          • Конфигурирование подсказок
        • Шаблоны редакторов
        • База правил
          • Правило для срока активности пропуска
          • Правило для ограничения выбора нескольких значений
          • Правило, позволяющее убирать или добавлять действия
          • Правило, задающее маску для людей и автомобилей
          • Правило, задающее маску для сканов документов
          • Правило, задающее цвет текста
          • Правило, задающее маску для ФИО
          • Правило, которое убирает группировку в поле Посетители
        • Объекты автоматизации
        • Пользовательские отчеты
      • Администрирование
        • Типы заявок
        • Создание операторов
          • Фильтр для операторов
          • Запуск эмуляции
          • Блокировка и разблокировка оператора
        • Группы операторов
        • Каналы оповещений
          • Электронная почта
          • SMS
            • SMS Aero
          • Telegram
          • Push-уведомления
          • WebSocket
          • Шаблоны уведомлений
            • Переменные в Шаблонах уведомлений
            • Подбор пароля
            • Статус интеграции
            • Статус ключа аппаратной защиты
            • Изменение статуса заявки
            • Приглашение
            • Уведомления, связанные с терминалами
            • Ссылка на приглашение
            • Пропуск выдан
            • Напоминание о встрече
            • Код подтверждения
            • Тестовое сообщение
            • Код для смены пароля
            • Посетитель пришел
            • Оповещение о прибытии посетителя
            • Основные объекты, используемые в переменных
            • Использование тернарного оператора
        • Обслуживание
      • Монитор задач
        • Удаление событий аудита
        • Удаление событий доступа
        • Архивация заявок
        • Корректировка прохода
        • Генерация отчета
        • Резервное копирование базы данных
        • Удаление просроченных персональных данных
        • Поиск конфликтов
        • Очистка логов
        • Изъятие просроченных пропусков
        • Импорт объектов
        • Синхронизация активности пропусков
        • Монитор ресурсов
        • Напоминание о посещении
        • Проверка временного доступа
        • Удаление фото людей с неактивными пропусками
        • Импорт из CSV
        • Фильтр в мониторе задач
      • Операции с объектами
        • Групповое редактирование
          • Групповое редактирование операторов
          • Групповое редактирование групп доступа
          • Групповое редактирование организаций
          • Групповое редактирование пропусков
          • Групповое редактирование людей
          • Групповое редактирование считывателей
          • Групповое редактирование терминалов
        • Скопировать в буфер обмена
        • Удаление объектов
      • Установка Regula
        • Сканирование
        • Приложение
      • Установка PassportBox
        • Сканирование
        • Приложение
      • Многосерверная конфигурация
      • RabbitMQ
      • Open API
      • Внутренний брокер сообщений
    • Для операторов
      • Мои заявки
        • Гостевой пропуск
          • Посетитель
          • Вкладка «Дополнительные»
          • Вкладка «Автомобили»
          • Вкладка «Дополнительные поля»
          • История объекта
          • Приглашения
        • Автомобильный пропуск
        • Постоянный пропуск для сотрудника
        • Временный пропуск для сотрудника
        • Замена пропуска
        • Бессрочный пропуск
        • Доступ
        • Продление доступа
        • Временный доступ
        • Черновики
        • На согласовании
        • Согласованные
        • Отказано
      • Избранное
      • Мои согласования
        • Обработано
      • Бюро пропусков
        • Пропуск в виде QR-кода
        • Оформленные заявки
        • Отмененные заявки
        • Приглашения
          • Фильтр в приглашениях
        • Публичные приглашения
          • Создание API ключа
      • Фильтр в заявках
        • Фильтр по относительному времени
      • Дежурный режим
        • Посетители
          • Фильтр в дежурном режиме
        • Монитор присутствия
          • Регистрация события входа
          • Регистрация события выхода
          • Фильтр в мониторах присутствия
        • Локеры
        • Автомобили
          • Брони авто
          • Авто на парковках
          • Парковочные места
      • Авторизация
        • Окружение
  • Терминал саморегистрации
    • Руководство администратора
      • Обслуживание
        • Текущий статус
        • Диагностика
        • Ошибки
        • Смена ПИН-кода администратора
      • Оборудование и сервисы
        • Конфигурация
        • Сканер и подсветка
        • Диспенсеры
        • Модуль печати
        • Сервер бюро пропусков
        • Камера
      • Режимы работы
        • Типы пропусков
        • Документы
        • QR
        • Дополнительные шаги
      • Маршрутизатор
      • Кастомизация интерфейса
        • Брендирование
        • Шаблоны
        • Контакты поддержки
        • Служебные сообщения
      • Калибровка сканера
      • Дополнительные настройки терминала
    • Руководство пользователя
  • Мобильное приложение
    • Мобильное приложение для Android
    • Как работать в приложении
    • Мобильная веб-версия
  • Релизы
    • Таблица совместимости
    • PassOffice
      • PassOffice 1.7
      • PassOffice 1.6
      • PassOffice 1.5
    • PassOffice Terminal
    • PassOffice Mobile
Powered by GitBook
On this page

Was this helpful?

  1. Документация PassOffice
  2. Для администраторов
  3. Интеграции

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

Данный раздел доступен, если он активирован в лицензии.

  1. Запустите сервер PassOffice с помощью файла PassOfficeSrv.bat

  2. Затем откройте браузер, в адресную строку введите адрес хоста, на котором запущен сервер PassOffice (например, localhost:80) и авторизуйтесь под учетной записью Администратора (логин и пароль Администратора задается во время установки системы)

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

  4. Отредактируйте настройки интеграции OpenID, указав:

  • ADFS discovery document URL

  • Идентификатор клиента

  • Алгоритм генерации токена

  • Тип сертификата, путь до него и пароль (для SSL)

или Загрузите конфигурацию из файла (.properties, .json)

  1. Поставьте флажок Разрешать саморегистрацию, после авторизации будет создан оператор с соответствующими ролями. Укажите настройки по умолчанию.

Выберите стратегию в случае обнаружения совпадений:

  • Приоритет импортируемой системы, при расхождении данных, поля из PassOffice заменятся на поля из Active Directory, указав Что делать, если нет каких-либо данных в сторонней системе:

  • Игнорировать, если поле есть и в PassOffice и в Active Directory, то оно будет заменено на соответствующее из Active Directory. Если поле есть в PassOffice, но нет в Active Directorу, то поле останется из PassOffice.

  • Очищать в бюро пропусков, если поле есть и в PassOffice и в Active Directory, то оно будет заменено на соответствующее из Active Directory. Если поле есть в PassOffice, но нет в Active Directorу, то поле в PassOffice будет очищено.

или

  • Приоритет данных в бюро пропусков, при расхождении данных, поля из PassOffice останутся приоритетными.

  1. Укажите источник данных:

  • Active Directory или

  • JWT Token, выбрав данный источник, заполните информацию:

  • Маску даты рождения, например, dd/MM/yyyy

  • Маску ФИО, например, {name} {surname} {middlename} необходимо для того, чтобы указать в каком порядке ФИО

Далее добавьте соответствия полей и атрибутов, например:

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

На следующем шаге задайте соответствие ролей, указав название и атрибут:

Подача заявок=requestRole
Согласование заявок=acceptRole
Выдача пропусков=issueRole
Работа с реестром=reportRole
Администрирование=adminRole
Картотека=cardlibRole
Управлекние доступом без заявки= Role
Дежурный режим=guardRole
Терминалы=terminalRole
История проходов=passHistoryRole
Изъятие пропусков=withdrawRole
Перевыдача пропусков=reissueRole
Служба безопасности=securityRole
  1. Проведите Тест соединения. Если тест проходит успешно - активируйте данные настройки соединения. В случае ошибок проверьте логи сервера PassOffice.

  2. Реактивировать/Деактивировать соединение можно с помощью соответствующих кнопок. Если после активации внесены изменения в настройки необходимо нажать «Реактивировать», чтобы применились настройки.

1. Общая настройка

1.1. Конфигурирование сервера ADFS

В PassOffice используется стратегия авторизации implicit-grant flow.

Прежде чем использовать авторизацию OpenID, необходимо сконфигурировать сервер ADFS.

  1. Откройте утилиту ADFS Management

  2. Перейдите в папку Application Groups и создайте группу для приложения, в которой будет использована авторизация

  3. При создании группы, нужно выбрать шаблон «Web browser accessing a web application»

  4. Необходимо настроить список поддерживаемых URL-адресов для перенаправления, добавьте полный URL-адрес до PassOffice.

  5. После создания группы нужно добавить scope «openid» в список доступных

2. Настройка атрибутов

2.1. Настройка атрибутов в ADFS

Добавляем новые атрибуты в наш аутентификационный токен, новое правило:

Слева выбираем атрибут, предназначенный для токена, справа - название поля, в котором будет атрибут.

Название поля, в которое хотите положить атрибут, можно выбрать из существующих либо задать кастомное название. На рисунке выше задаются кастомные названия.

Также необходимо добавить заголовок Content-Security-Policy в ответ от нашего ADFS сервера. Это нужно для того, чтобы система могла обновлять аутентификационные токены при их истечении. Сделать это можно командой:

Set-AdfsResponseHeaders -SetHeaderName "Content-Security-Policy" -SetHeaderValue "frame-ancestors [адрес до PassOffice]"

Для большинства случаев данной конфигурации достаточно. Чтобы убедиться, что остальные опции, относящиеся к ADFS, настроены правильно, можно посмотреть конфигурацию вашего ADFS сервера, находящуюся по адресу: https://example.ru/adfs/.well-known/openid-configuration

3. Возможные ошибки при работе с OpenID и их решение

  1. MSIS9622 client authentication error, type: "token_error" и Failed to parse oauth token. При такой ошибке необходимо настроить политику доступа. Самое простое решение - выбрать политику Permit everyone.

  2. На странице авторизации нет опции «Авторизация через SSO». В таком случае убедитесь, что плагины, блокирующие рекламу (adblock, adguard и т.д.), выключены.

  3. Error details: MSIS9224: Received invalid OAuth authorization request. The received 'redirect_uri' parameter is not a valid registered redirect URI for the client identifier: '*******'. Received redirect_uri: 'https://example.ru/auth/login'. В таком случае, добавьте https://example.ru в список поддерживаемых адресов для перенаправления и убедитесь, что сертификаты валидны и настроены правильно.

Для рефреша токена необходимо, чтобы была разрешена работа с iframe, это можно сделать следующим образом:

Set-AdfsResponseHeaders 
    -SetHeaderName "Content-Security-Policy" 
    -SetHeaderValue "frame-ancestors http://[myapp]"

где myapp - url, где развернут PassOffice.

4. Настройка отображения ролей

Чтобы настроить отображение ролей для авторизации через OpenID, необходимо сконфигурировать клеймы. Для этого, в настройках ADFS на вкладке «Issue Transform Rules» добавьте новое правило, выбрав шаблон «Send Group Membership as a Claim».

Далее введите название правила, выберите группу в Active Directory, введите произвольное название клейма и его значение - true.

При этом в токене аутентификации будет клейм adminRole со значением true.

Задайте аналогичные правила для всех ролей, которые необходимо синхронизировать в PassOffice. Далее в настройках интеграции OpenID на вкладке «Данные» укажите соответствие ролей.

Обратите внимание, после редактирования параметров клейма, изменения вступят в силу после обновления токена (время жизни токена можно настроить на стороне ADFS командой Set-AdfsWebApiApplication -TokenLifeTime «минуты» -TargetIdentifier ). Также обновить токен можно, если выйти из аккаунта и авторизоваться заново.

PreviousКонфигурирование интеграции с Active DirectoryNextКонфигурирование интеграции с DaData

Last updated 4 months ago

Was this helpful?