我正在看一些SAML 2.0服务提供商的元数据示例,并遇到了具有多个NameIDFormat标记的元数据文件。现在,我看到的大多数其他示例都只有一个,因此此代码段是否表明SP将接受SAML 1.1和SAML 2.0格式的NameID,并且在SAML 2.0响应的情况下可以接受 transient 和持久性NameID?
<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat>
<md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</md:NameIDFormat>
<md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:persistent</md:NameIDFormat>
<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>
<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName</md:NameIDFormat>
最佳答案
以便其他正在寻找该问题答案的人知道-我能够确认我的理解是正确的。 SP可以公布对多种NameID格式的支持,可以使用SP元数据中的多个标签来支持多种NameID格式。但是,由IdP决定是否接受它并以一种受支持的格式发送NameID,或者完全忽略它并以SP不支持的格式发送它。但是,在那种情况下,SP将无法解析NameID值,并且将失败。