Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# asp.net核心中的JWT身份验证_C#_Asp.net_Asp.net Mvc_Asp.net Core_Jwt - Fatal编程技术网

C# asp.net核心中的JWT身份验证

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创建的处理程序——当您只是实例化时,您不需要使用您放

我已经按照这个链接()创建了jwt令牌,并且成功地创建了令牌

下面是图片

现在我想验证我传递的令牌,如下所示

我正在获得401授权。请告诉我哪里做错了

我使用了与博客中提到的相同的代码

这是代码链接


您的问题是
TokenController.cs
中的这一行:

 var handler = new JwtSecurityTokenHandler();
不能只为每个请求实例化一个新的处理程序。您需要使用使用您的
JwtBearerOptions创建的处理程序
——当您只是实例化时,您不需要使用您放置在
Startup.cs中的
签名键

public TokenController(IOptions<JwtBearerOptions> options)
{
    _bearerOptions = options.Value;
}
JwtSecurityTokenHandler handler = _bearerOptions.SecurityTokenValidators.OfType<JwtSecurityTokenHandler>().First();