用于什么不同的NameID格式?

时间:2012-07-27 18:07:47

标签: single-sign-on saml opensaml

在SAML元数据文件中,定义了多种NameID格式,例如:

<NameIDFormat>urn:mace:shibboleth:1.0:nameIdentifier</NameIDFormat>

<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</NameIDFormat>

<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>

有人可以解释一下这些用途是什么吗?有什么区别?

4 个答案:

答案 0 :(得分:49)

请参阅本绿洲SAML规范SAML core pdf的第8.3节。

SP和IdP通常会就某个主题进行相互沟通。 该主题应通过NAME-IDentifier识别,该ID应该采用某种格式,以便对方很容易根据格式识别它。

所有这些

1.urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified [default]

2.urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress

3.urn:oasis:names:tc:SAML:2.0:nameid-format:persistent

4.urn:oasis:names:tc:SAML:2.0:nameid-format:transient

是名称标识符的格式。

The name format for a transient ID in SAML 1 is urn:mace:shibboleth:1.0:nameIdentifier and in SAML 2 is urn:oasis:names:tc:SAML:2.0:nameid-format:transient

Transient适用于[{3}}]

的第8.3.8节
  

表示元素的内容是带有的标识符   瞬态语义,应该被视为不透明和临时的   依赖方的价值。

可以使用未指定的,它完全取决于实体实现的愿望。

答案 1 :(得分:12)

关于这个我认为你可以参考http://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-tech-overview-2.0.html

以下是我对此的理解, 使用身份联合用例来提供这些概念的详细信息:

  • 持久标识符 -

IdP提供持久性标识符,它们用于链接到SP中的本地帐户,但它们仅标识为特定服务的用户配置文件。例如,持久标识符有点像:johnForAir,jonhForCar,johnForHotel,它们都只针对一个指定的服务,因为它需要链接到服务中的本地标识。

  • 瞬态标识符 -

瞬态标识符是IdP告诉SP的会话中的用户已被授予访问SP上的资源的权限,但用户的身份实际上并未提供给SP。例如,断言就像“匿名(Idp不告诉SP他是谁)有权访问SP上的资源”。 SP得到它并让浏览器访问它,但仍然不知道匿名&#39;真正的名字。

  • 未指定标识符 -

规范中对它的解释是&#34;元素内容的解释留给个别实现&#34;。这意味着IdP定义了它的实际格式,并假设SP知道如何解析来自IdP的格式数据响应。例如,IdP提供格式数据&#34; UserName = XXXXX Country = US&#34;,SP获取断言,并且可以解析它并提取UserName是&#34; XXXXX&#34;。

答案 2 :(得分:6)

这仅是向服务提供者提示身份提供者所返回的NameID所期望的内容。可以是:

  1. unspecified
  2. emailAddress –例如john@company.com
  3. X509SubjectName –例如CN=john,O=Company Ltd.,C=US
  4. WindowsDomainQualifiedName –例如CompanyDomain\John
  5. kerberos –例如john@realm
  6. entity –用于识别提供基于SAML的服务并看起来像URI的实体
  7. persistent –这是一个不透明的特定于服务的标识符,它必须包含一个伪随机值,并且不能追溯到实际用户,因此这是一种隐私功能。
  8. transient –不透明的标识符,应将其视为临时标识符。

答案 3 :(得分:4)

1和2是SAML 1.1,因为这些URI是OASIS SAML 1.1标准的一部分。链接的PDF for the OASIS SAML 2.0 standard的第8.3节解释了这一点:

  

在可能的情况下,现有的URN用于指定协议。在IETF协议的情况下,使用指定协议的最新RFC的URN。根据首次引入它们的规范集版本,专门为SAML创建的URI引用具有以下词干之一:

urn:oasis:names:tc:SAML:1.0:
urn:oasis:names:tc:SAML:1.1:
urn:oasis:names:tc:SAML:2.0: