Web API 持有者令牌身份验证授权不起作用



我正在开发带有Identity 2.0承载身份验证的ASP.NET Web API应用程序。我已经配置了承载身份验证并实现了SignIn方法,这样当我通过标头时:

Authorization: Bearer uGjAWZA1nPc1AqPuKpAzPhb989SYbtGd...

它工作正常。我可以呼叫User.Identity.GetUserId()User.Identity.GetUserName()。我甚至可以检查用户是否处于某种角色,而且它也很好。

不起作用的是[Authorize]属性。当我指定角色时,就像[Authorize(Roles = "Admin")]一样,它返回:

{
    Message: "Authorization has been denied for this request."
}

有什么想法吗?

您在创建身份时是否添加了角色声明?

userIdentity.AddClaim(new Claim(ClaimTypes.Role, "Admin"));

相关内容

  • 没有找到相关文章

最新更新