是否可以在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>
答案 0 :(得分:7)
从技术上讲,是的,有可能,因为AuthnRequest可以包含一个Extensions元素,它可以包含任何内容 - 请参阅the SAML 'core' spec:AuthnRequest(第3.4.1节)派生自RequestAbstractType(第3.2.1节)一个可选的扩展。发件人和收件人必须就这种方式发送的数据的语法和语义达成一致。
我看不到更“传统”的方法,因为属性通常是断言,而不是AuthnRequests。
答案 1 :(得分:0)
有一种情况是属性是auth请求的一部分。 这样我们就可以从请求中获取该属性名称来构造具有相同的响应断言。
因为服务提供商通过比较属性名称来验证响应。我们可以将Salesforce的示例作为服务提供者,同样的情况发生。