ASP.NET Core JWT 身份验证以保护 webAPI [授权] 属性错误 401 未经授权

时间:2021-02-17 16:00:48

标签: asp.net-core asp.net-web-api jwt token authorize-attribute

我开发了 API POST 并且它工作正常,但是当我添加 [Authorize] 属性时,即使我在标头中添加了正确的令牌,我在邮递员中也得到了 401 Unauthorized

 [Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
           
            [HttpPost]
            
            public async Task<ActionResult> Post([FromBody] CViewModel cVM)
            {
    // to do
            }

我只想用 JWT TOKEN 保护我的 API, API 身份验证工作正常并生成令牌,但我不知道为什么添加 [授权] 属性我收到错误 401 未经授权 在我的 POST API 中。

谢谢!

2 个答案:

答案 0 :(得分:0)

添加[Authorize]时,只有携带token才能成功访问此动作。一种可能性是该 url 未与此路由匹配。但更重要的原因是您没有正确配置登录路径,或者登录路径不存在。所以你可以在启动时检查配置。

答案 1 :(得分:0)

问题是我在启动时使用了不同的密钥并生成令牌方法