在asp.net核心中进行JWT身份验证验证

我已经遵循这个链接(ASP.NET核心中的基于令牌的身份验证)来创建jwt令牌,并且我成功创建令牌

以下是图片

令牌创建

现在我想验证我已经通过令牌的令牌如下

令牌验证

我得到401授权。请让我知道我在哪里做错了。

我已经采用了与博客中提到的相同的代码

这是代码链接

https://github.com/mrsheepuk/ASPNETSelfCreatedTokenAuthExample


你的问题是TokenController.cs这一行:

 var handler = new JwtSecurityTokenHandler();

你不能只为每个请求实例化一个新的处理程序。 您需要使用使用您的JwtBearerOptions创建的处理程序 - 当您只是实例化时,您不使用放置在Startup.cssigningKey

public TokenController(IOptions<JwtBearerOptions> options)
{
    _bearerOptions = options.Value;
}

并在GetToken

JwtSecurityTokenHandler handler = _bearerOptions.SecurityTokenValidators.OfType<JwtSecurityTokenHandler>().First();
链接地址: http://www.djcxy.com/p/22387.html

上一篇: JWT Authentication validation in asp.net core

下一篇: How can I implement Bearer Token in MVC 6 API vNext?