我正在使用IdentityServer4作为OIDC提供程序和ASP.NET Core 2.0。
我已经浏览了几篇文章,以确保IdentityServer发出的声明最终出现在ClaimsPrincipal中(即Auth Cookie),并设法通过ClaimsAction过滤来实现这一点。
但是,我的问题是...当使用ASP.NET Identity(和EF后备存储)运行IdentityServer时,ASP.NET Identity属性如何映射到IDS4返回的声明。默认情况下,IDS4返回诸如...的声明。
我问这个的原因是我想作图
因为在请求PROFILE范围时,默认情况下IDS4似乎不执行此操作。
另外,我想问一下存储用户属性的最佳实践。使用ASP.NET Identity DB时,将创建两个表...
因此,最佳实践是将其他用户属性添加为...
我正在尝试将我的 Identity 用户表链接到我创建的用于跟踪其他用户信息的用户详细信息表。该用户详细信息表称为 UserProfile。
我遇到了这个链接,但它在 .NET Core 2.1 中不起作用: Link ASP.NET Identity users to user detail table
这是我目前所拥有的:
public class ApplicationUser : IdentityUser
{
[Key]
public override string Id { get; set; }
[ForeignKey("Id")]
public virtual UserProfile UserProfile { get; set; }
}
[Table("UserProfile")]
public class UserProfile
{
[Key, ForeignKey("User")]
public string UserId { get; set; } // UserId (Primary key)
public string UserName { get; set; } // UserName
public string FirstName { get; set; } // FirstName
public …Run Code Online (Sandbox Code Playgroud) .net asp.net-identity entity-framework-core asp.net-core asp.net-core-2.1