具有[Authorize]属性的JWT auth

时间:2018-06-24 07:56:10

标签: asp.net-web-api asp.net-core asp.net-identity jwt

有人可以阐明默认的Asp.Net核心属性[Authorize](使用Asp.Net Identity)如何理解它应如何解码JWT令牌并获得必要的信息以授予访问权限吗? 在形成JWT令牌时,我为用户添加了令牌RoleClaims,[Authorize]是否基于声明授予他们对特定actionMethod的访问权限

2 个答案:

答案 0 :(得分:0)

您可以使用以下代码访问您的声明:

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

答案 1 :(得分:0)

更多详细信息,请点击此链接 Create JWT & Authorize

    [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 + "!";
    }