2015-09-19 3 views
2

Пройдя через так много сайтов Google, считывая так много QA в stackoverflow, действительно запутывается, как реализовать SP с использованием SAML 2 с Java.Реализация поставщика услуг с SAML 2 и Java

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

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

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

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

ответ

4

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

У меня также есть blogg with many examples.

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

+0

Спасибо, Стефан ... Я также прочитал ваши ответы на другие вопросы. Клиент специально просит меня использовать OpenSAML (я не уверен, почему ...), поэтому я ищу некоторые примеры реализаций, которые ... будут работать, как вы предложили. – user4501968

+0

OpenSAML - хорошо протестированный и совместимый код. Скорее всего, вы получите подпись и шифрование, совместимые с существующей библиотекой, а OpenSAML используется довольно широко. Shibboleth разработан той же группой, что и OpenSAML, и вы можете увидеть их код на https://wiki.shibboleth.net/confluence/display/DEV/Source+Code+Access – judielaine

+0

Хорошо, удачи, моя книга основана на примере реализация SAML sp у меня на github –

0

@Stefan имеет несколько хороших предложений.

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

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

Смежные вопросы