【问题标题】:How to add the returnURL to a SAML request?如何将 returnURL 添加到 SAML 请求?
【发布时间】:2011-12-11 07:59:55
【问题描述】:

问题: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。

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

谢谢

【问题讨论】:

    标签: saml service-provider


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      我不知道有什么标准的 SAML 方法可以实现这一点。您可能需要依赖自定义扩展(例如额外的查询字符串参数)来告诉 IdP 去哪里取消。

      或者(不是那么优雅——但实用)您可以使用 JavaScript 将用户送回历史记录中的几个步骤?例如:

      window.history.go(-2)
      

      【讨论】:

        猜你喜欢
        • 2015-05-29
        • 1970-01-01
        • 1970-01-01
        • 2011-10-14
        • 2021-05-07
        • 2017-02-11
        • 1970-01-01
        • 1970-01-01
        • 2021-02-09
        相关资源
        最近更新 更多