Как добавить returnURL в запрос SAML? - PullRequest
3 голосов
/ 20 октября 2011

Проблема: сайт SP xyz.com/A получает запрос на ресурс xyz.com/B, требующий аутентификации. Запрос SAML с relay_state = xyz.com / B отправляется в iDP. Пользователь перенаправляется на сайт iDP через SAML / SSO, а затем на idp.com.

Я хочу создать ссылку, которая позволит пользователю отменить свой запрос на xyz.com/B и просто вернуть его туда, где он просматривал xyz.com/A. Поскольку было перенаправление SAML, я не могу использовать заголовок реферера на idp.com, чтобы узнать, откуда пришел пользователь. В идеале я хочу отправить returnURL = xyz.com / A внутри моего запроса SAML.

Итак, вопрос в том, существует ли такой способ?

Спасибо

Ответы [ 2 ]

1 голос
/ 20 октября 2011

Я не знаю стандартного способа SAML, как вы могли бы достичь этого. Скорее всего, вам придется полагаться на пользовательские расширения (такие как дополнительные параметры строки запроса), чтобы сообщить IdP, где следует отменить.

В качестве альтернативы (и не столь элегантного - но практичного) вы могли бы использовать JavaScript, чтобы отправить пользователя на пару шагов назад в истории? E.g.:

window.history.go(-2)
0 голосов
/ 09 марта 2013

IDP может вернуть ответ SAML SP. В ответе SAML вы можете использовать элемент Status, чтобы указать, что пользователь отменил процесс аутентификации. В качестве кода состояния верхнего уровня вы можете использовать urn: oasis: names: tc: SAML: 2.0: Responder. Вы можете использовать свой собственный код состояния в качестве кода состояния второго уровня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...