C# 如何将roleclaim包含到accesstoken?

C# 如何将roleclaim包含到accesstoken?,c#,asp.net-identity,identityserver4,C#,Asp.net Identity,Identityserver4,我使用identityserver4和asp.net标识保护我的API。标识数据库具有表角色和角色目标。对于我的安全模型,我需要角色和她的roleclaim。我包含了访问令牌的角色,但我不知道如何包含roleclaim //Example of API with roles new ApiResource("api1", "My API") { UserClaims = new []{ "name", "role" } } 我回答了如何在访问令牌中包含角色。如果要另外包含角色声明,则需要

我使用identityserver4和asp.net标识保护我的API。标识数据库具有表角色和角色目标。对于我的安全模型,我需要角色和她的roleclaim。我包含了访问令牌的角色,但我不知道如何包含roleclaim

//Example of API with roles
new ApiResource("api1", "My API")
{
   UserClaims = new []{ "name", "role" }
}
我回答了如何在访问令牌中包含角色。如果要另外包含角色声明,则需要使用
rolemager

public async Task GetProfileDataAsync(ProfileDataRequestContext context)
{
    context.IssuedClaims.AddRange(context.Subject.Claims);

    var user = await _userManager.GetUserAsync(context.Subject);

    var roles = await _userManager.GetRolesAsync(user);

    foreach (var role in roles)
    {
        var roleClaims = await RoleManager.GetClaimsAsync(role);

        context.IssuedClaims.Add(new Claim(JwtClaimTypes.Role, role)); //Adds "role" claim
        context.IssuedClaims.AddRange(roleClaims); //Adds other role claims
    }
}

我不使用角色声明,但只在我的项目中使用
AspNetUserClaims
,您可以看看:什么是“aspnet标识”?你是说“ASP.NET身份”?@PeterMortensen是的。我是说ASP.NET身份。@chichiton我想你需要什么。你能发布你的AuthConfig吗?@AndriyShevchenko我的项目看起来像这个例子,我刚刚在ApiResource中包含了角色。您提供的链接似乎包含了我问题的解决方案,我将尝试它。Tnx。这就是我要找的。