Простой пример SAML для начинающих

Я новичок в технологии SAML v2.0 и получаю теоретические знания, но не нашел примеров в Google. Может ли кто-нибудь предоставить мне пошаговый пример простого SAML для v2.0.

  1. До сих пор я прошел теоретическую часть, то есть он поддерживает Единый вход, и
    также я понял о Поставщике услуг и Поставщике удостоверений .
  2. В настоящее время я работаю над средой Linux
  3. Мне нужен простой пошаговый пример того, как запрос перемещается от пользователь -> Поставщик удостоверений-> Поставщик услуг и как настроить среду.
  4. Можно ли выполнить пример для SAML v2.0
  5. Есть ли у них шанс выполнить пример SAML на языке Java. Если возможно, вы можете также предоставить пример на Java.

person user2779075    schedule 14.09.2013    source источник
comment
Вам следует предоставить более подробную информацию. На каком языке / платформе, что вы пробовали до сих пор, какие элементы теории вы уже знаете. Вопрос, скорее всего, будет закрыт, если вы не приложите к нему больше усилий.   -  person Wiktor Zychla    schedule 14.09.2013
comment
Я думаю, что этот вопрос требует больших усилий   -  person danday74    schedule 28.04.2017


Ответы (2)


Типичный SSO с SAML - это так называемый Web SSO Profile. На рынке существует множество продуктов, поддерживающих это, например OpenAM, Shibboleth, OpenSAML и Oracle Identity Federation. Конкретная конфигурация зависит от того, какой продукт вы решите использовать. Рабочий пример OpenSAML, который я использую в своей книге, доступен здесь.

На уровне SAML SP и IDP обмениваются метаданными, которые содержат информацию о конфигурации того, как SP и IDP хотят общаться.

Затем SSO выполняется в четыре этапа:

  1. SP видит, что у пользователя нет аутентифицированного сеанса.
  2. SP перенаправляет пользователя к IDP с SAML AutnRequest в качестве параметра URL.
  3. IDP аутентифицирует пользователя и перенаправляет его обратно к SP с артефактом в параметре URL.
  4. SP обменивает Артефакт на Утверждение по протоколу SOAP, используя ArtifactResolveRequest для IDP.

Если вы хотите запрограммировать это самостоятельно на Java, вы можете использовать OpenSAML. В моем блоге есть много примеров его использования.

В моей книге A Guide To OpenSAML я много пишу об этом.

ИЗМЕНИТЬ Вышло новое издание книги, охватывающее OpenSAML v3

person Stefan Rasmusson    schedule 15.09.2013
comment
Привет, спасибо за ответ .. Кто-нибудь может предоставить пошаговый пример saml с его конфигурацией. - person user2779075; 16.09.2013
comment
Чтобы использовать SAML, вы используете какое-то программное обеспечение, которое использует протокол SAML. Вы пользуетесь подобным программным обеспечением? - person Stefan Rasmusson; 23.01.2014
comment
Даже ищу похожую вещь. Я хочу создать свой собственный IDP с использованием openSAML, @Stefan, может ли ваша книга помочь мне в этом направлении? - person Sohan; 01.04.2015
comment
Книга знакомит с библиотекой и показывает много общего для IDP и Sp. Но в книге больше внимания уделяется Sp. Я уверен, что моя книга вам поможет. - person Stefan Rasmusson; 02.04.2015
comment
@StefanRasmusson любой пример, относящийся к android - person Mightian; 16.06.2016
comment
Не конкретно, нет - person Stefan Rasmusson; 16.06.2016
comment
Вышло новое издание книги, охватывающее OpenSAML v3 gumroad.com/l/ a-guide-to-opensaml-v3 - person Stefan Rasmusson; 01.07.2016
comment
@Stefan Ссылка на ваш блог в настоящее время не работает. Я совершенно новичок в этом, могу ли я получить пошаговую инструкцию по реализации этого с помощью java - person Jerry; 14.10.2016
comment
Я попробовал ссылку, и кажется, что все в порядке. Если вы все еще не можете связаться, попробуйте blog.samlsecurity.com. Там много полезных постов. Моя книга содержит подробные и последовательные инструкции о том, как создать поставщика услуг с использованием OpenSAML. - person Stefan Rasmusson; 14.10.2016
comment
В ответе мне не хватает реального примера того, как создать поток SSO SP-IDP, который, если я правильно понимаю, то, о чем просил спрашивающий ... - person AlikElzin-kilaka; 23.10.2018
comment
Проблема в том, что большая часть конфигурации очень зависит от того, какое программное обеспечение вы используете. Однако я добавил краткое описание метаданных SAML, используемых для настройки, и рабочий пример OpenSAML, который я использую в своей книге. - person Stefan Rasmusson; 19.11.2018

Вы можете просто выполнить шаги в этом руководство, которое поможет вам создать простую федерацию SAML 2.0 между локальным поставщиком услуг и общедоступным поставщиком удостоверений.

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

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

person Vladimír Schäfer    schedule 16.07.2014
comment
На устройстве Android, и они не рекомендуют IOC по соображениям производительности. Есть ли еще один пример SSO на Android за пределами Spring? - person Stephen McCormick; 29.02.2016