当NameID值是不是电子邮件格式的用户名时,使用格式电子邮件是否有效?

时间:2014-01-14 14:32:45

标签: saml-2.0

当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

1 个答案:

答案 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