当NameID值是不是电子邮件格式的用户名时,使用格式 urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress 是否有效?例如。 “foo”,而不是“foo@bar.com”
否则,在这种情况下,我们应该使用 urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified
答案 0 :(得分:1)
从SAML2核心规范,第8.3.2节:
urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
表示元素的内容采用电子邮件的形式 地址,特别是IETF RFC 2822 [RFC中定义的“addr-spec” 2822]第3.4.1节。 addr-spec的格式为local-part @ domain。注意 addr-spec之前没有短语(例如常用名) 在它之后没有评论(括在括号中的文字),而不是 被“<”包围和“>”。
所以不,除非emailAddress
完全符合RFC2822中的要求,否则不能使用NameId
格式。
简单地说,如果您使用emailAddress
,则NameId
必须是local-part@domain
的形式。
我认为unspecified
是正确的选择。然后你不对格式做出任何承诺,这意味着你不会限制你将被允许用作NameId
。