Подтвердить что ты не робот

Web SSO с использованием Java и SAML 2.0

Я бы хотел написать веб-приложение, которое выполняет аутентификацию с помощью токенов SAML 2.0, выданных поставщиком удостоверений. Я понимаю, согласно этому question, что в мире PHP существует жизнеспособное решение, используя simpleSAMLphp.

Есть ли эквивалентный метод в мире Java? Существуют ли готовые решения и/или учебные пособия для обычных контейнеров servlet или серверов приложений?

4b9b3361

Ответ 1

Вы можете попробовать проект OpenSAML; он предоставляет библиотеку Java для создания и проверки токенов SAML.

Ответ 2

Вы можете взглянуть на 2 продукта:

Оба имеют довольно впечатляющий список функций и предлагают широкий список агентов единого входа.

Основное преимущество подхода агента заключается в том, что вам не нужно заботиться о вашем процессе аутентификации, поскольку он обрабатывается агентом и инфраструктурой единого входа.

Если вы собираетесь разработать собственный поставщик услуг SAML2, использование OpenSAML - это путь. Недостатком является то, что эта библиотека не так хорошо документирована. Тем не менее вы должны легко найти некоторые обучающие материалы по OpenSAML в Интернете.
Вы можете реализовать его, например, как фильтр сервлета, так что ваш код приложения не привязан к SAML.

Ответ 3

Недавно реализовав аутентификацию SAML для приложения, я нашел самую полезную информацию в техническом обзорном документе OASIS SAML2. Он очень читабельн и содержит реальные примеры передаваемых XML-сообщений.

В разделе 5.1 описывается взаимодействие с запросом на получение запроса YOUR (поставщик услуг или SP) поставщику удаленной идентификации (Idp).

http://wiki.oasis-open.org/security/Saml2TechOverview

Ответ 4

Предоставление более актуального ответа, поскольку это не было посещено через некоторое время:

Если вы выполняете проект spring, у меня уже был успех с spring Security SAML. Вам не нужно защищать ваше приложение с помощью spring Security, чтобы использовать расширение SAML, хотя это немного упростит.

http://projects.spring.io/spring-security-saml/

Ответ 6

Все, что вам нужно, это сайт OpenSSO, OpenAM в качестве преемника.