我们有一个使用Asp.Net Identity管理客户数据库的Asp.Net 4.5 MVC应用程序。我们目前正在使用Microsoft帐户身份验证。我们考虑使用OpenId Connect,以便具有工作/学校帐户的客户也可以登录将登录添加到.NET MVC Web应用程序。
Microsoft帐户身份验证返回ProviderKey作为已登录用户的唯一ID。这映射到我们的客户数据库中的UserId。
OpenId Connect似乎没有返回ProviderKey,但
Microsoft帐户身份验证返回ProviderKey作为已登录用户的唯一ID。这映射到我们的客户数据库中的UserId。
OpenId Connect似乎没有返回ProviderKey,但
NameIdentifier
看起来很有前途:ClaimsPrincipal.Current.FindFirst(System.IdentityModel.Claims.ClaimTypes.NameIdentifier)?.Value;
NameIdentifier
是由OpenId Connect返回的用户的唯一标识符吗?它能可靠地用于随时间唯一标识用户吗?