Appearance
Настройка SSO
Общее
Важно
Доступно только для платных тарифов
BearPass поддерживает возможность авторизации по стандарту SSO SAML. При попытке входа через SSO, приложение попытается найти пользователя по логину. Если пользователя еще нет в системе - он будет создан и привязан к провайдеру SSO.
Чтобы настроить SSO, перейдите в соответсвующий пункт меню в административном разделе
Важно
Пользователь должен иметь право "Настройка SSO"
Здесь необходимо заполнить данные, получение от провайдера SSO. Пример инструкции для Google Workspace https://support.google.com/a/answer/6087519?hl=ru
Дополнительно можно сделать маппинг атрибутов пользователя из провайдера.
После активации SSO провайдера в форме входа появится кнопка "Войти через SSO"
Опционально можно настроить шифрование и требование подписей запросов. В настройках со стороны провайдера это тоже должно быть включено.
Мультифактор
Добавьте новый ресурс "SAML-приложение":
Заполните название и адрес, выберите нужный вам поставщик учетных записей:
Скачайте файл метаданных из Мультифактора:
И загрузите его в BearPass:
Укажите ссылку на метаданные из BearPass (убедитесь, что вы активировали SSO на предыдущем шаге):
Настройте маппинг полей, если требуется:
Keycloak
Создайте нового клиента с типом SAML, в Client ID укажите урл метаданных BearPass:
Укажите урл приложения, для редиректов используйте маску:
Отключите Client signature required:
Перейдите в Realm settings -> General и скачайте файл метаданных SAML по ссылке:
Загрузите файл метаданных в BearPass и активируйте SSO:
После этого авторизация должна заработать, но атрибуты создаваемых пользователей будут пустыми.
Если при авторизации возникает ошибка и в логах BearPass пишется ошибка Found an Attribute element with duplicated Name
, измените атрибут ролей: Client Scopes -> role_list (saml) -> Mappers tab -> role list -> Single Role Attribute. Установите этот чекбокс.
Для передачи полей пользователя в BearPass нужно настроить Client scopes и добавить их к провайдеру.
Создайте новый scope для протокола SAML:
Добавьте mapper на атрибут пользователя:
Привяжите scope к клиенту:
Повторите для всех нужных атрибутов и заполните маппинг полей в BearPass: