Реализация поставщика услуг с SAML 2 и Java
Пройдя через столько сайтов google, прочитав столько QA в stackoverflow, действительно запутался, как реализовать SP с помощью SAML 2 С Java.
Я понимаю концепцию теории, но не понимаю, как ее точно реализовать.
В настоящее время мой клиент уже поделился со мной файлом метаданных IDP и запросил файл метаданных SP. Это мой первый пункт борьбы.
- как на самом деле генерировать файлы метаданных? Есть ли инструмент для его создания?
- Как это сделать? реализуйте генерацию SAMLRequest, синтаксический анализ SAMLResponse с использованием библиотек Java.
- Люди рекомендуют так много общедоступных сайтов, которые поддерживают функции IDP, SP, но не могут выбрать правильный для продолжения. Мне нужен какой-то конкретный пример реализации поставщика услуг на Java с SAML 2.
Очень признателен, если кто-нибудь поможет мне в этом контексте. Пожалуйста, поправьте меня, если мои вопросы не ясны, чтобы я попытался отредактировать его.
2 ответа:
Если вам нужно построить SP в Java, я бы рекомендовал использовать модульSpring SAML или библиотекуOpenSAML , но они могут дать вам больше работы. Если вы в конечном итоге используете OpenSAML, у меня есть книга, руководство по OpenSAML , представляющее SAML и библиотеку OpenSAML.
У меня также есть блог с множеством примеров.
Однако я бы рекомендовал вам сначала изучить использование готового продукта для SAML, такого как Shibboleth , который является свободным и открытым исходным кодом решение для SAML. Это избавит вас от необходимости изучать специфику протокола SAML, а также будет намного безопаснее, поскольку различные соображения безопасности уже были сделаны разработчиками.
@у Стефана есть несколько хороших предложений.
То, что вам нужно, это SAML в сторону стека протокола клиента. См.: SAML: SAML connectivity / toolkit и ссылки внутри статьи.
С точки зрения ваших вопросов, разные стеки делают это по-разному. Некоторые из коммерческих стеков, которые я использовал, имеют отличную документацию и пример кода для всего этого.