gpt4 book ai didi

oauth-2.0 - 在 OAuthBearer 中间件上使用自定义 RoleClaimType

转载 作者:行者123 更新时间:2023-12-02 10:21:30 26 4
gpt4 key购买 nike

OAuth 服务器使用与 System.Security.Claims.ClaimTypes.Role 不同的声明类型发出角色声明:

var adminRole = new Claim("CustomRole", "Admin");
context.Ticket.Identity.AddClaim(adminRole);

如何告诉 OAuthBearerAuthentication 中间件使用我的自定义角色声明类型,以便它使 Authorize 属性正常工作:

//Startup
app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions ...

[Authorize(Roles = "Admin")]
public IHttpActionResult SecureAction()

最佳答案

确保您的 Identity设置为 System.Security.Claims.ClaimsIdentity 的实例:

  • ClaimsIdentity.RoleClaimType 属性用于指定代表角色的声明,并在评估 ClaimsPrincipal.IsInRole(String) 的此身份时使用。方法。

您可以轻松地从原始身份克隆您的原始身份(传递原始声明)并指定不同的 roleType使用构造函数命名:

ClaimsIdentity(IIdentity, IEnumerable<Claim>, String, String, String)

关于oauth-2.0 - 在 OAuthBearer 中间件上使用自定义 RoleClaimType,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52627162/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com