SAML 2.0 — Несколько AssertionConsumerService в SP



Я внедряю SAML 2.0 SP.
У меня есть сервлет входа с конечной точкой https://my.domain.com/mng/samlLogin, поэтому в файле метаданных SP я определяю:

<md:AssertionConsumerService     
    Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"  
    Location="https://my.domain.com/mng/samlLogin" index="0" isDefault="true"/>

И отправьте эту конечную точку в AuthenRequest под AssertionConsumerServiceURL.

Теперь у меня есть другой сервлет с другой функциональностью, и ему необходимо проверить пользователя на соответствие SAML как часть его потока.
Поэтому мне нужно определить новый URL-адрес сервлета в качестве дополнительной конечной точки, скажем, https://my.domain.com/mng/myServletSamlLogin , который получит ответ аутентификации SAML.

Возможно ли это? Можно ли определить несколько элементов AssertionConsumerService для одной и той же привязки (HTTP-POST)?

Спасибо!


person user1825949    schedule 22.02.2015    source источник


Ответы (2)


Да, вы можете включить дополнительные элементы <md:AssertionConsumerService> в метаданные SAML 2.0 SP с той же привязкой, каждый со своим уникальным индексом. В качестве альтернативы вы можете подписать запросы аутентификации в качестве SP, и в этом случае вы можете свободно указать AssertionConsumerServiceURL без требования, чтобы он был опубликован и настроен ранее как часть обмена метаданными SP.

Все это соответствует спецификации, но имейте в виду (как всегда с «расширенными» параметрами SAML), что ваш пробег может варьироваться в зависимости от. поддержка различных реализаций SAML.

person Hans Z.    schedule 22.02.2015
comment
Дополнительный ACS у меня работал, но не подписывал запросы. Я по-прежнему получаю сообщение об отсутствии одноранговой конечной точки, на которую можно отправить ошибку ответа SAML от поставщика удостоверений при запросе URL-адреса ACS, которого нет в метаданных (используя Shibboleth 2 с подписью ApplicationDefaults = true). Я сделал что-то не так или это просто невозможно с Shibboleth? - person Damien; 24.10.2017

Взгляните на Глоссарий Assertion Consumer Service, где вы узнаете, что

Обслуживание потребителей утверждений

SAML-совместимая часть PingFederate в роли SP, которая получает и обрабатывает подтверждения от IdP.

атрибуты

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

контракт атрибутов

Список атрибутов, согласованный партнерами в федерации удостоверений, представляющий информацию о пользователе (субъект SAML). Атрибуты отправляются от IdP к SP во время обработки SSO или STS.

Таким образом, вы связываете привязки со службой приема утверждений (ACS) конечными точками, где ваш SP будет получать утверждения.

person Matija Grcic    schedule 22.02.2015