Интеграция портала JBoss GateIn с PicketLink-STS (SAML)
Я пытаюсь выяснить (если это возможно), как интегрировать приложение JBoss GateIn Portal с PicketLink-STS, чтобы сгенерировать токен безопасности (т. Е. Утверждение SAML), который можно использовать для реализации "Единого входа" (таким образом, поговорить с обратной стороной). Сервисы EJB, которые требуют аутентификации).
Есть хорошая документация о том, как настроить JBoss 5.1 с сервисами EJB и защитить их с помощью PicketLink-STS для аутентификации с помощью токена безопасности (реализовано через домены безопасности и модули конфигурации входа в систему).
Однако неясно, как заставить приложение портала JBoss 5.1/GateIn интегрироваться с PicketLink-STS, чтобы портлеты могли получить токен безопасности (для вошедшего в систему пользователя), который затем мог бы быть передан сервисам EJB задней стороны, которые проверено на PicketLink-STS для аутентификации?
Интересно, возможно ли это или тупиковая дорога.
1 ответ
Я не эксперт в GateIn, но я показываю свои результаты после некоторых исследований.
Первый я основанный на версии 3.4 GateIn является последним для JBoss 5.
Чтобы настроить аутентификацию Gatein на основе токенов SAML, должна быть включена аутентификация SSO, для интеграции GateIn с SAML2 используется проект JBoss Picketlink Federation.
Аутентификация SAML SSO основана на круге доверия между SP и IDP. Это можно сделать, выполнив шаги, описанные в этой ссылке: Глава 6. Аутентификация и идентификация - SAML
Необходимые ресурсы можно скачать по следующему адресу:
- GateIn SSO: https://repository.jboss.org/nexus/content/groups/public/org/gatein/sso/sso-packaging/1.1.2-Beta02/sso-packaging-1.1.2-Beta02.zip
- idp-sig (STS и другие примеры): https://repository.jboss.org/nexus/service/local/repositories/releases/content/org/picketlink/quickstarts/picketlink-quickstarts/2.1.1.Final/picketlink-quickstarts-2.1.1.Final-webapps-jboss-as5.zip
Конфигурация STS является частью Identity Provider, и ее можно редактировать, как описано в следующей документации: Конфигурация службы SecurityToken (элемент PicketLinkSTS)
После того, как вы выполнили все шаги для включения токенов SAML на основе аутентификации (работают правильно), вы должны добавить следующий фильтр в GateIn (например, SAML2LogoutFilter
):
<filter>
<filter-name>PicketlinkSTSIntegrationFilter</filter-name>
<filter-class>org.gatein.sso.agent.filter.PicketlinkSTSIntegrationFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>PicketlinkSTSIntegrationFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Этот набор фильтров org.picketlink.identity.federation.core.wstrust.SamlCredential
в org.jboss.security.client.SecurityClient
, что позволяет распространять аутентификацию из билета SAML2 в базовые вызовы EJB или WS.
Смотрите также:
Я надеюсь, что это поможет.