2012-03-21 4 views
3

Прежде всего позвольте мне сказать вам, что моя ситуация
У меня есть 3 провайдеров услуг и 1 поставщика удостоверений. (т. Е. Я поставщик услуг, а также поставщик удостоверений). Я хочу реализовать SSO с использованием SAML.
Я пишу запрос SAML следующим образом
SAML и ответ на JAVA

<samlp:AuthnRequest 
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" 
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" 
ID="identifier_1" 
Version="2.0" 
IssueInstant="2004-12-05T09:21:59Z" 
AssertionConsumerServiceIndex="0"> 
<saml:Issuer>https://sp.example.com/SAML2</saml:Issuer> 
<samlp:NameIDPolicy 
    AllowCreate="true" 
    Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient"/> 


Я могу послать запрос правильно. Я не понимаю, как должен реагировать. В ответном коде есть много атрибутов, например Digest, Certificate и т. Д.,. Кто они такие?

Есть ли правило, что я должен следовать только протоколу SAML. Могу ли я создать свой собственный протокол, поскольку я являюсь Сервисом, а также Identity Provider?

ответ

1

Ниже приводится выдержка из SAML V2.0 Technical Overview. Документ действительно стоит посмотреть. После этого вы должны определить свой бизнес-пример использования, выбрать профиль для этого варианта использования и реализовать протокол, соответствующий этому профилю. Если профиля не существует, вы можете определить свой собственный протокол. Атрибуты запроса и ответа будут зависеть от профиля.

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

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

Утверждения SAML содержат утверждения о принципале, которые утверждают, что истина истинна. Действительная структура и содержание утверждения определяются XML-схемой утверждения SAML. Утверждения обычно создаются заявляющей стороной на основании какого-либо запроса от полагающейся стороны, хотя при определенных обстоятельствах утверждения могут быть переданы полагающейся стороне незапрашиваемым образом. Сообщения протокола SAML используются для создания SAML-определенных запросов и возврата соответствующих ответов. Структура и содержимое этих сообщений определяются с помощью XML-схемы протокола SAML.

Средство, с помощью которого протоколы связи или обмена сообщениями более низкого уровня (такие как HTTP или SOAP) используются для передачи сообщений протокола SAML между участниками, определяются связями SAML.

Далее, профили SAML определены, чтобы удовлетворить конкретный бизнес-пример использования, например профиль SSO веб-браузера. Профили обычно определяют ограничения на содержание утверждений, протоколов и привязок SAML для того, чтобы разрешить деловое использование в режиме взаимодействия. Существуют также профили атрибутов, которые не относятся к сообщениям и привязкам протокола, которые определяют, как обмениваться информацией об атрибутах с использованием утверждений способами, которые выравниваются с рядом обычных сред использования (например, X.500/ LDAP-каталогов, DCE).

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