12

使用 .Net 4.5 RC 和 Azure 访问控制服务,我感兴趣的主要声明是 IdentityProvider 和 NameIdentifier。

System.Security.Claims.ClaimTypes 包含众所周知的声明的常量,并且它具有 ClaimTypes.NameIdentifier,但它似乎缺少 ClaimTypes.IdentityProvider。

我真的很惊讶没有在那里找到它。当然,我可以在我自己的常量之一中使用字符串表示“http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider”,但鉴于微软向云的推动,我希望使用标准 ClaimTypes 找到它。

这只是疏忽吗?它的缺席有充分的理由吗?它在其他命名空间中吗?

4

1 回答 1

7

我敢冒险,IdentityProvider 声明不是标准 WIF 声明类型集的一部分,因为 IdentityProvider 已经是已发布的安全令牌中存在的必填字段,与声明集分开。

另一方面,ACS 充当依赖方应用程序和第 3 方身份提供者之间的联合提供者。请注意,ACS 不使用ActAs 或 OnBehalfOf机制,但 RP 可能想知道用户来自哪个 IP,因此 ACS 为此发出 IdentityProvider 声明。

于 2012-07-04T15:17:43.537 回答