Перейти к основному содержимому
Это документация для Пассворка версии 6.0, которая больше не поддерживается.

Актуальная документация находится на странице последней версии 7.0.
Версия: 6.0

Конфигурация SSO c Keycloak

осторожно

Перед выполнением конфигурации SSO убедитесь, что значение параметра domain в конфигурационном файле config.ini является текущим доменным именем сервера Пассворка.

Это необходимо для того, чтобы IDP смог скачать файл https://<your-passwork>/sso/metadata с вашего сервера. Ваш сервер должен работать по HTTPS-протоколу.

Пример параметра в config.ini: domain = https://passwork.example.com

Перейти в раздел Clients и нажмите Create:

Создание клиента в Keycloak

keycloack.json

Ваш браузер не поддерживает просмотр JSON

Открыть в новой вкладке

Поиск пароля в расширении

Импортировать файл экспорта на странице создания клиента:

Поиск пароля в расширении
Поиск пароля в расширении

Перейти в секцию Client Scopes и нажать на role_list.

Поиск пароля в расширении

Во вкладке Mappers выбрать role_list.

Поиск пароля в расширении

Установить значение параметра NameFormat и выбрать использование одиночного атрибута:

Поиск пароля в расширении

Открыть настройки области (realm), скопировать необходимые значения и добавить их в настройки SSO в Пассворке:

Поиск пароля в расширении
Поиск пароля в расширении
Поиск пароля в расширении

В настройках области перейдите во вкладку Keys, нажмите на Certificate и скопируйте его значение в соответствующее поле в настройках SSO в Пассворке.

Поиск пароля в расширении
Поиск пароля в расширении

Нажать кнопку Войти с SSO на странице авторизации для проверки правильной настройки:

Поиск пароля в расширении

Возможные ошибки

к сведению

В случае возникновения ошибок, они будут помещены в лог PHP

Ответ от SSO не может быть корректно расшифрован, так как неправильно скопирован отпечаток сертификата или это отпечаток неверного сертификата:

OneLogin_Saml2_Error: invalid_response LastErrorReason: Signature validation failed. SAML Response rejected in /var/www/app/modules/Admin/SSO/SsoController.php:78\nStack trace:\n#0 [internal function]: Passwork\\Modules\\Admin\\SSO\\SsoController->acsAction()\n#1 [internal function]: Phalcon\\Dispatcher\\AbstractDispatcher->callActionMethod()\n#2 [internal function]:Phalcon\\Dispatcher\\AbstractDispatcher->dispatch()\n#3 /var/www/public/index.php(91): Phalcon\\Mvc\\Application->handle()\n#4 {main}

Неправильно указано текущее значение хоста в параметре domain файла config.ini:

OneLogin_Saml2_Error: Invalid array settings: sp_acs_url_invalid, sp_sls_url_invalid in /var/www/app/vendors/php-saml/lib/Saml2/Settings.php:122\nStack trace:\n#0 /var/www/app/vendors/php-saml/lib/Saml2/Auth.php(152): OneLogin_Saml2_Settings->__construct()\n#1 /var/www/app/modules/Admin/SSO/SsoService.php(53): OneLogin_Saml2_Auth->__construct()\n#2 /var/www/app/modules/Admin/SSO/SsoController.php(33): Passwork\\Modules\\Admin\\SSO\\SsoService->getAuth()\n#3 [internal function]: Passwork\\Modules\\Admin\\SSO\\SsoController->loginAction()\n#4 [internal function]: Phalcon\\Dispatcher\\AbstractDispatcher->callActionMethod()\n#5 [internal function]: Phalcon\\Dispatcher\\AbstractDispatcher->dispatch()\n#6 /var/www/public/index.php(91): Phalcon\\Mvc\\Application->handle()\n#7 {main}, referer: 

У пользователя отсутствует атрибут, по которому выполняется вход:

OneLogin_Saml2_Error: invalid_response LastErrorReason: The status code of the Response was not Success,was Responder -> urn:oasis:names:tc:SAML:2.0:status:InvalidNameIDPolicy in /var/www/app/modules/Admin/SSO/SsoController.php:78\nStack trace:\n#0 [internal function]:Passwork\\Modules\\Admin\\SSO\\SsoController->acsAction()\n#1 [internal function]: Phalcon\\Dispatcher\\AbstractDispatcher->callActionMethod()\n#2 [internal function]:Phalcon\\Dispatcher\\AbstractDispatcher->dispatch()\n#3 /var/www/public/index.php(91): Phalcon\\Mvc\\Application->handle()\n#4 {main}
Поиск пароля в расширении
Поиск пароля в расширении