Asp.net web api 具有[Authorize]属性的JWT auth

Asp.net web api 具有[Authorize]属性的JWT auth,asp.net-web-api,asp.net-core,asp.net-identity,jwt,Asp.net Web Api,Asp.net Core,Asp.net Identity,Jwt,有人能解释一下默认的Asp.Net核心属性[Authorize](使用Asp.Net标识)如何理解它应该如何解码JWT令牌并获得授予访问权限所需的信息吗? 在为用户生成JWT令牌时,我将其放入令牌RoleClaims中,[授权]是否基于声明授予他们访问特定actionMethod的权限?您可以使用以下代码访问您的声明: User.Claims.FirstOrDefault(el => el.Type == claim)?.Value 更多详情请点击此链接 [授权] [HttpPost]

有人能解释一下默认的Asp.Net核心属性[Authorize](使用Asp.Net标识)如何理解它应该如何解码JWT令牌并获得授予访问权限所需的信息吗?
在为用户生成JWT令牌时,我将其放入令牌RoleClaims中,[授权]是否基于声明授予他们访问特定actionMethod的权限?您可以使用以下代码访问您的声明:

User.Claims.FirstOrDefault(el => el.Type == claim)?.Value

更多详情请点击此链接

[授权]
[HttpPost]
公共字符串Post()
{
var identity=HttpContext.User.identity作为ClaimsIdentity;
IEnumerable claim=identity.Claims;
var UserName=claim.Where(c=>c.Type==“UserName”).Select(c=>c.Value.SingleOrDefault();
返回“欢迎使用”+用户名+“!”;
}
    [Authorize]
    [HttpPost]
    public string Post()
    {
        var identity = HttpContext.User.Identity as ClaimsIdentity;
        IEnumerable<Claim> claim = identity.Claims;
        var UserName = claim.Where(c => c.Type == "UserName").Select(c => c.Value).SingleOrDefault();

        return "Welcome to " + UserName + "!";
    }