【问题标题】:Are attributes allowed in a SAML authentication request?SAML 身份验证请求中是否允许使用属性?
【发布时间】:2009-02-09 19:56:44
【问题描述】:

是否可以在 SAML 身份验证请求中发送属性?

<samlp:AuthnRequest
   xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
   xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
   ID="aaf23196-1773-2113-474a-fe114412ab72"
   Version="2.0"
   IssueInstant="2004-12-05T09:21:59Z"
   AssertionConsumerServiceIndex="0"
   AttributeConsumingServiceIndex="0">
   <saml:Issuer>https://sp.example.com/SAML2</saml:Issuer>
   <samlp:NameIDPolicy
     AllowCreate="true"
     Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient"/>
 </samlp:AuthnRequest>

【问题讨论】:

    标签: saml


    【解决方案1】:

    从技术上讲,是的,这是可能的,因为 AuthnRequest 可以包含一个 Extensions 元素,该元素可以包含任何内容 - 请参阅the SAML 'core' spec:AuthnRequest(第 3.4.1 节)派生自 RequestAbstractType(第 3.2.1 节),它有一个可选的扩展。发送者和接收者必须就以这种方式发送的数据的语法和语义达成一致。

    我看不到更“传统”的方式来做到这一点,因为属性通常在断言中,而不是在 AuthnRequests 中。

    【讨论】:

    • 感谢之前的帮助。我有一个后续评论。这是针对 SAML 2.0 还是 SAML 1.0 或两者兼而有之?
    • 那是针对 SAML 2.0 的。查看 SAML 1.1 规范 (oasis-open.org/committees/download.php/3406/…) 的第 3.2.1 节,没有 Extensions 元素,所以我认为您不能使用 SAML 1.x 做到这一点。
    • 这篇文章在我最初发布时对我帮助很大。我能够使用 Extensions 和 Shibboleth 在 AuthnRequest 中传递属性。我现在正在使用 OpenAM,想知道是否可以从 AMLoginModule 访问扩展。有可能吗?
    【解决方案2】:

    在某些情况下,属性将成为身份验证请求的一部分。 这样我们就可以从请求中获取该属性名称以构造相同的响应断言。

    因为服务提供商通过比较属性名称来验证响应。我们可以以 Salesforce 作为服务提供商为例,情况也是如此。

    【讨论】:

      猜你喜欢
      • 2015-08-24
      • 2011-06-20
      • 1970-01-01
      • 2014-04-04
      • 2017-05-10
      • 1970-01-01
      • 2018-09-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多