类型声明http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier
应用于什么?
这是主要问题,这里还有其他问题。
与http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
索赔有何不同?
对特定用户而言,与名称声明相反,它是永久性的吗?
是全局范围还是IdP范围?
类型声明http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier
应用于什么?
这是主要问题,这里还有其他问题。
与http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
索赔有何不同?
对特定用户而言,与名称声明相反,它是永久性的吗?
是全局范围还是IdP范围?
Answers:
Name
,就是那个名字。如果我们在说话,请考虑“ Eric”;服务器“ file01”。
ANameIdentifier
是对象的ID。回到我们的人员对象,您数据库中Eric的UserID可能是435。对于服务器,标识符可以是FQDN或SID。
根据这篇文章,名称标识符显然是SAML 1.1属性,并且NameID
在SAML 2.0中已被取代。
我想发表@Jason的评论和@nzpcmad的帖子。我认为唯一性不是明确要求。问题被标记adfs2.0但所引用的架构归OASIS所有。这就是我们需要权衡的两方解释。
微软对ADFS的立场显然是有一个独特的要求。我们在“索赔的作用”一文中看到了这一点。毫无疑问,ADFS蒙上了一层阴影,但这似乎是一个实现细节。
但是,从SAML 1.1规范来看,我没有这样的主张。我们在规范的2.4.2.2节中得到的最接近的是:
元素通过名称限定符,名称和格式的组合来指定主题。元素具有以下属性:
...
NameQualifier [可选]限定主题名称的安全或管理域。此属性提供了一种从不同的用户商店联合名称而不会发生冲突的方法。
规范的文字告诉我,我需要能够使用这三个属性的组合来找到一个人,但是并不能断言其唯一性。我不能有两个指向同一用户的条目吗?似乎是这样。此外,NameQualifier
在NameIdentifier
不足以唯一标识名称的情况下,规范是否会指出需要该属性?
那么,这一切将导致什么呢?
根据索赔的作用,
名称用户的唯一名称
名称标识符用户的SAML名称标识符
这两个声明是AD FS 2.0默认配置的声明组的一部分。
这意味着它们是IP范围的。
例如,当您使用ACS登录到Google时,“ nameidentifier”是Google与您的帐户关联的唯一GUID,而name是您的Google登录名,例如“ tim.smith@gmail.com”。
该nameidentifier
要求应该用于获得一个唯一的用户名。
对于Windows身份验证:
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier domain \ warlock
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name 0#.w | domain \ warlock
domain \ warlock是Windows登录名
对于基于声明的身份验证:
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier warlock@localhost.com
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name 05.t|myidentityprovider|warlock@localhost.com
电子邮件已指定为“标识符声明”
如您所见,还.../identity/claims/name
描述了名称和身份提供者。