【问题标题】:SAML2 Multiple Service ProvidersSAML2 多个服务提供商
【发布时间】:2017-05-16 04:12:19
【问题描述】:

我们使用 SAML 2.0 在我们的网络产品 (app1) 中实现了单点登录 - 我们的产品是服务提供商。现在我们的一个客户要求在 app1 中提供一个链接,该链接将用户带到他们的网络应用程序(app2),他们希望用户单点登录到他们的应用程序。我假设他们的 app(app2) 将使用与 app1 相同的 IDP。

根据我的理解,我认为链接到他们的 App2 的 AssertionConsumer 应该可以完成工作。当点击 app2 的链接时,app2 的 AssertionConsumer 将能够处理来自 app1 的声明。如果有人能插话并让我知道我是否遗漏了什么,我将不胜感激。

【问题讨论】:

    标签: single-sign-on saml


    【解决方案1】:

    您不应链接到断言使用者 URL。您链接到 app2 中的相关页面。 App2 会检测到用户未通过身份验证,并将其发送给 IDP 进行身份验证。 IDP 将检测到用户已经通过身份验证,并将用户返回到最初发送到的页面。

    【讨论】:

    • 感谢您的回复。抱歉,我对 SAML 不是很熟悉,但当我指的是 Assertion 消费者 URL 时,我指的是 AssertionConsumerService 位置。但我明白你在说什么 - 我们需要链接到 app2 中与 IDP 通信的相关 URL。
    • 没错。 SAML 很难,一开始可能很难。随时提出更多问题。请将答案标记为正确
    • 嗨@StefanRasmusson app1 向app2 发送API 请求,app2 如何在不将用户重定向到IDP 的情况下对IDP 进行身份验证?
    【解决方案2】:

    当用户到达时,app2 是否进行被动身份验证?如果是这样,您应该只链接到 app2 中的任何页面,并让它负责向 IdP 询问用户的登录状态,而不是试图告诉它。

    如果 app2 不自动检查 IdP,那么您可能应该链接到 app2 中需要身份验证的页面,以便它会这样做。

    一般来说,IdP 的全部意义在于 SP 信任告诉他们用户是否(以及如何)经过身份验证,因此您不应该尝试构建一个SP 之间的额外信任系统。 (如果他们提示彼此当前用户或什至是某个特定的人登录,这很好,但他们应该在相信之前与 IdP 核实。)

    【讨论】:

    • 我仍然没有关于这个 app2 的所有信息。抱歉,我对 SAML 不太熟悉,但是当您说被动身份验证时,您指的是 SP 发起的身份验证。
    猜你喜欢
    • 2017-10-28
    • 1970-01-01
    • 2016-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-23
    相关资源
    最近更新 更多