【问题标题】:SAML SSO - how does it work with multiple service providersSAML SSO - 它如何与多个服务提供商合作
【发布时间】:2019-07-24 23:18:21
【问题描述】:

我的任务是使用 SAML 开发 SSO 系统。我必须登录身份提供商(通过移动应用程序)并在身份验证后重定向到我的网站。

经过一些研究,我认为了解服务提供者和 ID 提供者之间的交互以及如何确认用户的身份。

但是当我将用户重定向到另一个服务提供商时会发生什么?如何在不使用身份提供者再次登录的情况下将经过身份验证的用户的身份转移到我的网站。

我必须将 SAML 断言令牌与重定向请求一起发送吗?

【问题讨论】:

    标签: c# saml saml-2.0


    【解决方案1】:

    是的。如果您使用service provider-initiated SSO flow,这会无缝发生。

    当您尝试访问任何 SAML 服务提供商上的资源时,如果您未在服务提供商处进行身份验证,您将被重定向回身份提供商。假设这是第一次发生。身份提供者会提示进行身份验证,然后它将向服务提供者发送 SAML 响应。现在您尝试访问另一个 SAML 服务提供商上的资源。您将再次被重定向到身份提供者,但这次不会提示您进行身份验证,只要身份提供者处的安全上下文(会话..)仍然存在。身份提供者将静默发送 SAML 响应给第二个服务提供者。

    【讨论】:

    • 感谢您的回答。当我尝试访问另一个 SAML 服务提供商上的资源时,我必须向身份提供商提出什么要求?第一次重定向到身份提供者是否相同?我第一次登录移动应用程序时。
    • 只要身份提供者和服务提供者之间建立了关系/信任,并且服务提供者支持SP发起的SSO,你就不需要请求任何东西。当您访问 SP 上的资源时,它会向身份提供者发送 SAML 身份验证请求。身份提供者将使用 SAML 响应回复此请求。
    • 我的意思是,第二次“当您访问 SP 上的资源时,它会向身份提供者发送 SAML 身份验证请求。”。第二次认证请求与第一次认证请求相同吗?(从移动应用程序重定向到第二个站点后)。我无法想象身份提供者如何识别应用程序和网站已由一个人在没有令牌之类的情况下登录(仅示例)。
    • 第二个身份验证请求在结构上与第一个相同,但具有不同的值。例如,一个区别是服务提供者的身份(Issuer 元素)。
    • @identigral 如果我有 IDP 发起的流程怎么办?
    猜你喜欢
    • 2016-12-14
    • 1970-01-01
    • 2018-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-27
    • 2021-07-15
    • 1970-01-01
    相关资源
    最近更新 更多