在asp.net核心中进行JWT身份验证验证
我已经遵循这个链接(ASP.NET核心中的基于令牌的身份验证)来创建jwt令牌,并且我成功创建令牌
以下是图片
现在我想验证我已经通过令牌的令牌如下
我得到401授权。请让我知道我在哪里做错了。
我已经采用了与博客中提到的相同的代码
这是代码链接
https://github.com/mrsheepuk/ASPNETSelfCreatedTokenAuthExample
你的问题是TokenController.cs
这一行:
var handler = new JwtSecurityTokenHandler();
你不能只为每个请求实例化一个新的处理程序。 您需要使用使用您的JwtBearerOptions
创建的处理程序 - 当您只是实例化时,您不使用放置在Startup.cs
的signingKey
public TokenController(IOptions<JwtBearerOptions> options)
{
_bearerOptions = options.Value;
}
并在GetToken
JwtSecurityTokenHandler handler = _bearerOptions.SecurityTokenValidators.OfType<JwtSecurityTokenHandler>().First();
链接地址: http://www.djcxy.com/p/22387.html