#authentication #wso2 #saml-2.0 #wso2is
#аутентификация #wso2 #saml-2.0 #wso2-identity-server
Вопрос:
Я пытаюсь создать полностью настраиваемый внешний аутентификатор для WSO2 IS. Идея заключается в следующем: 1. Поставщик услуг перенаправляет пользователя в WSO2 IS с запросом SAML2 (конфигурация входящей аутентификации = конфигурация веб-входа в систему SAML2). 2. Конфигурация локальной аутентификации для указанного поставщика услуг является моим пользовательским аутентификатором. 3. Пользовательский аутентификатор перенаправляет пользователя в службу аутентификации. 4. Пользователь входит в систему. 5. Служба входа перенаправляет пользователя обратно в WSO2 — пользовательский аутентификатор (используя тот же URL, что и раньше «/samlsso».
Проблема в том, что параметры, используемые и возвращаемые службой входа, являются полностью проприетарными, т.Е.. не SAML2. Однако WSO2IS ожидает запрос SAML2 при доступе к пользовательскому аутентификатору.
Как я могу создать пользовательский аутентификатор, который использует полностью проприетарные параметры для службы входа в систему, но обычный SAML2 для поставщика услуг?
Ответ №1:
На шаге 5 он должен быть перенаправлен на конечную точку / commonauth. Таким образом, будет определен правильный контекст из метода getContextIdentifier в вашем аутентификаторе.
Вы можете использовать Facebook authenticator в качестве примера [1]
Комментарии:
1. Спасибо, URL-адрес «commonauth» был ключевым. Также я обнаружил, что мне нужно вручную передать параметр «sessionDataKey» (взятый из AuthenticationContext.getContextIdentifier ()), чтобы обработчик ответа WSO2 распознал сеанс. Я бы хотел, чтобы документация по продукту была немного понятнее об этом.