External Authentication
Аутентификация в SSO через внешнюю систему
Схема аутентификации
Логин Модуль ExternalJwtLoginModule
Модуль делегирует процесс аутентификации некоторой внешней системе путем редиректа на ее адрес Внешняя система может использовать любую цепочку аутентификации, после чего результат отправить редиректом обратно в SSO
Интеграция
SSO → External Auth Service
Задать настройку com.rooxteam.federation.authentication.baseUrl входной точкой логина во внешней системе. по этому адресу будут приходить GET запросы для аутентификации.
External Auth Service → SSO
В случае успешной аутентификации нужно сохранить имя пользователя и справочную информацию в виде зашифрованного токена (JWT) и записать в cookie из настройки com.rooxteam.federation.authentication.cookie.name (по умолчанию iPlanetDirectoryPro), время жизни токена должно быть несколько секунд. В случае неуспешной аутентификации нужно передать токен без информации о пользователе. В cookie из com.rooxteam.federation.authentication.backUrlCookie (по умолчанию sso_goto) должен быть записан обраный URL SSO, к этому URL необходимо добавить GET-параметр из com.rooxteam.federation.authentication.backStatusParam (по умолчанию auth_status) о статусе аутентификации (SUCCESS) и по полученному URL выполнить редирект.
Настройки
-
com.rooxteam.federation.authentication.decryptor.key - Ключ расшифровки JWT токена
-
com.rooxteam.federation.authentication.baseUrl - URL внешней системы аутентификации
-
com.rooxteam.federation.authentication.backUrlCookie - Имя Cookie где находится URL для обратного редиректа в SSO
-
com.rooxteam.federation.authentication.backStatusParam - Имя GET-параметра, в который внешняя система должна передать статус аутентификации
-
com.rooxteam.federation.authentication.cookie.name - Имя Cookie в которой передается JWT
-
com.rooxteam.federation.authentication.cookie.domain - Домен Cookie в которой передается JWT
-
com.rooxteam.federation.authentication.cookie.path - Путь Cookie в которой передается JWT