代码之家  ›  专栏  ›  技术社区  ›  jon077

SAML身份验证请求中是否允许属性?

  •  7
  • jon077  · 技术社区  · 17 年前

    是否可以在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>
    
    2 回复  |  直到 13 年前
        1
  •  7
  •   metadaddy    17 年前

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

    我看不出一种更“传统”的方法来实现这一点,因为属性通常位于断言中,而不是AuthnRequest中。

        2
  •  0
  •   user1733951    13 年前

    在这种情况下,属性将成为auth请求的一部分。 这样,我们就可以从请求中获取属性名,从而构造具有相同属性的响应断言。

    因为服务提供者通过比较属性名来验证响应,所以我们可以以Salesforce为例,在这种情况下也会发生同样的情况。