Реализация поставщика услуг с SAML 2 и Java


Пройдя через столько сайтов google, прочитав столько QA в stackoverflow, действительно запутался, как реализовать SP с помощью SAML 2 С Java.

Я понимаю концепцию теории, но не понимаю, как ее точно реализовать.

В настоящее время мой клиент уже поделился со мной файлом метаданных IDP и запросил файл метаданных SP. Это мой первый пункт борьбы.

  1. как на самом деле генерировать файлы метаданных? Есть ли инструмент для его создания?
  2. Как это сделать? реализуйте генерацию SAMLRequest, синтаксический анализ SAMLResponse с использованием библиотек Java.
  3. Люди рекомендуют так много общедоступных сайтов, которые поддерживают функции IDP, SP, но не могут выбрать правильный для продолжения. Мне нужен какой-то конкретный пример реализации поставщика услуг на Java с SAML 2.

Очень признателен, если кто-нибудь поможет мне в этом контексте. Пожалуйста, поправьте меня, если мои вопросы не ясны, чтобы я попытался отредактировать его.

2 2

2 ответа:

Если вам нужно построить SP в Java, я бы рекомендовал использовать модульSpring SAML или библиотекуOpenSAML , но они могут дать вам больше работы. Если вы в конечном итоге используете OpenSAML, у меня есть книга, руководство по OpenSAML , представляющее SAML и библиотеку OpenSAML.

У меня также есть блог с множеством примеров.

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

@у Стефана есть несколько хороших предложений.

То, что вам нужно, это SAML в сторону стека протокола клиента. См.: SAML: SAML connectivity / toolkit и ссылки внутри статьи.

С точки зрения ваших вопросов, разные стеки делают это по-разному. Некоторые из коммерческих стеков, которые я использовал, имеют отличную документацию и пример кода для всего этого.