C# asp.net核心中的JWT身份验证
我已经按照这个链接()创建了jwt令牌,并且成功地创建了令牌 下面是图片 现在我想验证我传递的令牌,如下所示 我正在获得401授权。请告诉我哪里做错了 我使用了与博客中提到的相同的代码 这是代码链接C# asp.net核心中的JWT身份验证,c#,asp.net,asp.net-mvc,asp.net-core,jwt,C#,Asp.net,Asp.net Mvc,Asp.net Core,Jwt,我已经按照这个链接()创建了jwt令牌,并且成功地创建了令牌 下面是图片 现在我想验证我传递的令牌,如下所示 我正在获得401授权。请告诉我哪里做错了 我使用了与博客中提到的相同的代码 这是代码链接 您的问题是TokenController.cs中的这一行: var handler = new JwtSecurityTokenHandler(); 不能只为每个请求实例化一个新的处理程序。您需要使用使用您的JwtBearerOptions创建的处理程序——当您只是实例化时,您不需要使用您放
您的问题是
TokenController.cs
中的这一行:
var handler = new JwtSecurityTokenHandler();
不能只为每个请求实例化一个新的处理程序。您需要使用使用您的JwtBearerOptions创建的处理程序
——当您只是实例化时,您不需要使用您放置在Startup.cs中的签名键
public TokenController(IOptions<JwtBearerOptions> options)
{
_bearerOptions = options.Value;
}
JwtSecurityTokenHandler handler = _bearerOptions.SecurityTokenValidators.OfType<JwtSecurityTokenHandler>().First();