NameIdentifier和IdentityProvider(WIF)声明可用于唯一标识任何用户吗?

时间:2011-04-19 07:40:18

标签: azure wif claims-based-identity claims acs

考虑使用Access Control Service (ACS)Windows Identity Foundation (WIF)来保护我的WCF数据服务Web API应用程序。

如何使用声明来唯一标识用户?

我的想法是使用标准声明NameIdentifier和WIF声明IdentityProvider相结合的组合为任何用户创建唯一ID。

这个组合真的稳定而独特吗? IP会突然改变它的IdentityProvider字符串吗?

这里的想法是将两半的连接字符串存储为任何用户的唯一ID。

NameIdentifier声明是否有任何安全隐患?

干杯,

微米。

2 个答案:

答案 0 :(得分:4)

这似乎是合理的。请注意,nameidentifier是IdP特定的,这意味着它由您通过身份验证的身份提供商提供(例如LiveID,Google等)。 ACS只是将此值复制到索赔中。检查这些提供商中的每一个,看看他们做出了什么保证。我的假设是他们不应该为“回归用户”而改变 - >拥有相同用户名/密码的人。

人们也经常使用电子邮件地址。如果可用,您可能还想将其关联起来作为一项额外措施。

答案 1 :(得分:2)

贾斯汀史密斯在他的MIX11 talk中提到了这一点(参见幻灯片22,谈话中的28分钟) - 我的理解是ACS为您提供了nameidentifier和IdP名称。你把元组放在一起,这对于唯一的id应该是好的。