Web API承载令牌身份验证授权不起作用

问题描述 投票:1回答:1

我正在使用Identity 2.0 Bearer身份验证开发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."
}

有什么想法吗?

asp.net-mvc asp.net-web-api asp.net-mvc-5 asp.net-identity asp.net-identity-2
1个回答
2
投票

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

userIdentity.AddClaim(new Claim(ClaimTypes.Role, "Admin"));
© www.soinside.com 2019 - 2024. All rights reserved.