SAML SSO – ссылка на контент – URL утверждения

У нас есть интеграция SAML с поставщиком. Idp на нашей стороне - ADFS 2.0. Всякий раз, когда пользователь нажимает ссылку на поставщика с нашего сайта, он будет перенаправлен обратно на страницу входа в систему adfs. После успешной аутентификации они будут перенаправлены на URL-адрес потребителя утверждения saml поставщика, который является их домашней страницей.

Теперь у нас есть глубокая связь, которую нужно установить. Проблема в том, что пользователь после аутентификации всегда попадает на домашнюю страницу поставщика. Предполагая, что relaystate настроен, разве поставщик не несет ответственности за перенаправление со страницы URL-адреса потребителя утверждения saml на глубокую ссылку? Я предполагаю, что adfs не может напрямую перенаправлять на глубокую ссылку, потому что контекст безопасности должен быть установлен на сайте поставщика, перейдя по URL-адресу утверждения. Разве не неудобно ожидать, что каждый перейдет на определенную страницу (URL-утверждение), прежде чем перейти по другой ссылке?

Единственный другой вариант, который я предполагаю, - это создание кода, который устанавливает контекст безопасности на стороне поставщика в виде http-модуля или фильтра. Я прав, говоря это, или мое понимание неверно?


person rachen    schedule 17.04.2017    source источник


Ответы (1)


В рамках SAML ответственностью ADFS является добавление того же состояния ретрансляции, отправленного поставщиком, к перенаправлению, возвращающемуся поставщику. То, как используется состояние ретрансляции, выходит за рамки SAML, и с этим вы должны согласиться.

Однако очень часто целевой URL-адрес глубокой ссылки отправляется в состоянии реле.

person Stefan Rasmusson    schedule 08.05.2017
comment
Гарантировано ли, что RelayState достигнет поставщика в неизмененном состоянии в этой ситуации? - person anpatel; 10.11.2017
comment
Согласно спецификации, то, что отправляется в состоянии ретрансляции, должно быть отправлено обратно без изменений. Пока IDP соответствует спецификации, все должно быть в порядке. - person Stefan Rasmusson; 10.11.2017