我们有一个使用Asp.Net Identity的Asp.Net 4.5 MVC应用程序来管理我们的客户数据库。我们目前正在使用Microsoft帐户身份验证。我们正在考虑使用OpenId Connect,以便拥有工作/学校帐户的客户也可以登录Add sign-in to an .NET MVC web app。
Microsoft帐户身份验证将ProviderKey作为已登录用户的唯一ID返回。这将映射到我们客户数据库中的UserId。
OpenId Connect似乎没有返回ProviderKey,但NameIdentifier
看起来很有希望
ClaimsPrincipal.Current.FindFirst(System.IdentityModel.Claims.ClaimTypes.NameIdentifier)?.Value;
是否NameIdentifier
是OpenId Connect返回的用户的唯一标识符?是否可以可靠地用于随着时间的推移唯一地识别用户?
答案 0 :(得分:7)