【问题标题】:Doubts on SAML and OAUTH对 SAML 和 OAUTH 的质疑
【发布时间】:2014-10-10 04:05:32
【问题描述】:

现在我正在处理 SAML 和 oauth。我有几个问题,我想知道是否有人澄清了我的疑问 -

  1. 据我了解,根据 SAML2 规范,SAML 响应的有效性取决于 SAML 响应中的 NotOnOrAfter 属性。
  2. 当 SP 从 IdP 取回响应时,SP 如何跟踪 SAML 请求? - 我认为这取决于 IdP 根据 SAML2 规范在 SAML 响应中的 InResponseTo 属性。

我也想知道,如何设置 OAUTH 令牌的到期时间。谷歌搜索后,我发现 OAUTH 响应中有一个属性“expires_in”,它告诉令牌的有效期,但我不确定如何使用 Scribe 使用它。我正在使用 scribe 连接到不同的提供商。

【问题讨论】:

  • 我认为您应该将问题的OAUTH 部分移至单独的部分。获得一个涵盖 SAML2 和 OAUTH 的答案可能会很困难。 Stack Overflow 通常不适用于多题问题。请一次发布一个问题。

标签: java security oauth saml scribe


【解决方案1】:
  1. 是的,NotOnOrAfter 属性是 Conditions 的一部分,它决定响应何时以及如何有效。
  2. 如果 SP 需要跟踪响应,SP 可以通过InResponseTo 参数做到这一点。请注意,许多 SAML2 实现允许主动(即 Idp 发起)会话,其中 Idp 发送响应而从未从 SP 收到 AuthnRequest

【讨论】:

  • 我仍然有一个疑问:1)在我的情况下,IdP 使 POST 浏览器调用 SP(https:///saml_login,现在我的 SP 生成一个 SAMLResponse,其中包含响应 xml 中的 InResponseTo 属性. 那么,攻击者是否有可能使用同一个 SAMLResponse 进行多个 POST 调用?如果是,那么我该如何防止这种情况发生?
  • 符合标准的 SP 实现必须确保特定的响应消息只使用一次。通常这是通过保留响应消息的已用 Id 列表来完成的,直到 NotOnOrAfter 时间过去。
  • 你的意思是SP应该在缓存中保存已用Id的列表并且缓存过期时间应该与NotOnOrAfter相同?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-13
  • 2020-08-01
  • 2015-01-01
  • 1970-01-01
相关资源
最近更新 更多