【问题标题】:Is SAML artifact binding initiated by IdP or SP?SAML 工件绑定是由 IdP 还是 SP 发起的?
【发布时间】:2016-11-24 10:18:01
【问题描述】:

我正在探索 SAML 身份验证的不同绑定类型。以下是我的理解:

  • SP 将向 IdP 发送一个 Artifact,IdP 将向 SP 发回相同的 Artifact。这是在 SP 和 IdP 之间建立握手。
  • SP 现在将通过反向通道使用与工件相对应的实际 SAML 进行响应。

但查询是,在 IdP 发起 Artifact 绑定的情况下,IdP 如何知道以下内容:

  • 要轮询哪个 SP?
  • 何时轮询 SP?
  • 属性断言 SAML 消息位于 SP 端。那么,在没有与 SP 事先沟通的情况下,IdP 如何知道相应的 Artifact?

【问题讨论】:

    标签: saml-2.0


    【解决方案1】:

    我认为对神器绑定作品的hos存在误解。当用于将断言从 IDP 传输到 SP 时,Artifact 绑定的工作方式如下。

    1. IDP 通常通过浏览器向 SP 发送工件。
    2. SP 将工件发送到 IDP,通常通过反向通道。前 SOAP。
    3. IDP 使用包含断言的 ArtifactResponse 进行响应。

    在进行身份验证时,从更大的角度来看,流程是这样的

    1. 用户尝试访问由 SP 管理的站点
    2. SP 拦截用户,发现用户没有经过身份验证。
    3. 用户被发送到 IDP 进行身份验证。
    4. 用户已通过身份验证并创建了一个断言。
    5. 用户被送回 SP 连同断言。如果使用工件绑定,则用户将与工件一起发回。
    6. SP 通过反向通道将工件交换为断言。

    【讨论】:

    • 您回答中的第一点说 IdP 通过浏览器将工件发送到 SP。但是,我仍然不明白,IdP 是如何知道哪个 SP 发送 Artifact 以及何时发送 Artifact,因为一个 IdP 可以服务多个 SP。
    • 我扩展了答案。将用户与工件一起发送回请求身份验证的 SP
    • 工件绑定可用于 IdP 发起的 SSO 或 SP 发起的 SSO 流。正如 Stefan 所指出的,工件绑定是所谓的反向通道绑定,因此还有第 6 步,SP 使用工件解析协议从 IdP 检索实际断言。因此,SP 必须能够与 IdP 的工件解析服务(在 IdP 元数据中定义)进行通信
    • 是的,我在第一个列表中提到了它,但它变得有点不清楚。我添加了第 6 步
    • SAML 中是否存在任何允许无浏览器交互的内容?您捕获用户名:密码,然后在没有浏览器的情况下与 IdP 交谈?
    猜你喜欢
    • 2020-05-28
    • 1970-01-01
    • 2018-12-14
    • 1970-01-01
    • 2015-04-19
    • 1970-01-01
    • 1970-01-01
    • 2020-05-16
    • 2015-03-14
    相关资源
    最近更新 更多