如何将returnURL添加到SAML请求?

时间:2011-10-19 21:49:10

标签: saml service-provider

问题:SP网站xyz.com/A收到要求身份验证的资源xyz.com/B的请求。具有relay_state = xyz.com / B的SAML请求被发送到iDP。用户通过SAML / SSO重定向到iDP站点,然后重定向到idp.com。

我想实现一个链接,允许用户取消他对xyz.com/B的请求,然后将其返回到他在xyz.com/A浏览的位置。因为有SAML重定向,我不能在idp.com上使用referer标头来找出用户来自哪里。理想情况下,我想在我的SAML请求中发送returnURL = xyz.com / A.

所以问题是有这样的方式吗?

由于

2 个答案:

答案 0 :(得分:1)

我不知道您可以实现这一目标的标准SAML方式。您可能需要依赖自定义扩展(例如其他查询字符串参数)来告知IdP取消的位置。

或者(并不是那么优雅 - 但实用)你可以使用JavaScript将用户送回历史记录中的几个步骤? E.g:

window.history.go(-2)

答案 1 :(得分:0)

IDP可以向SP返回SAML响应。在SAML响应中,您可以使用Status元素指示用户已取消身份验证过程。作为顶级状态代码,您可以使用urn:oasis:names:tc:SAML:2.0:Responder。您可以使用自己的状态代码作为第二级状态代码。