External Authentication
Аутентификация в RooX UIDM через внешнюю систему
Схема аутентификации
Логин Модуль ExternalJwtLoginModule
Модуль делегирует процесс аутентификации некоторой внешней системе путем редиректа на ее адрес Внешняя система может использовать любую цепочку аутентификации, после чего результат отправить редиректом обратно в RooX UIDM
Интеграция
RooX UIDM → External Auth Service
Задать настройку com.rooxteam.federation.authentication.baseUrl входной точкой логина во внешней системе. по этому адресу будут приходить GET запросы для аутентификации.
External Auth Service → RooX UIDM
В случае успешной аутентификации нужно сохранить имя пользователя и справочную информацию в виде зашифрованного токена (JWT) и записать в cookie из настройки com.rooxteam.federation.authentication.cookie.name (по умолчанию iPlanetDirectoryPro), время жизни токена должно быть несколько секунд. В случае неуспешной аутентификации нужно передать токен без информации о пользователе. В cookie из com.rooxteam.federation.authentication.backUrlCookie (по умолчанию sso_goto) должен быть записан обраный URL RooX UIDM, к этому 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 для обратного редиректа в RooX UIDM
-
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