invalid_token -- 未找到签名密钥

时间:2021-02-19 23:48:22

标签: asp.net angular jwt bearer-token

我正在将令牌从我的 UI 存储库传递到后端。

export class AccountService {
  constructor(private http: HttpClient,  private oidcSecurityService: OidcSecurityService) {}
.
.
.
 const options = {
      headers: new HttpHeaders({
        Authorization: 'Bearer ' + token,
        'Content-Type': 'application/json',
      }),
    };
    debugger;
    return this.http.get<IRetrieveAccountSummaryResponse>(
      AppConfig.settings.businessUrl + '/api/account/AccountSummary/' + loanNumber,
      options
    );

在 API 包中, 我在 Startup.cs 中添加了以下代码

  services.AddAuthentication("Bearer")
           .AddJwtBearer("Bearer", options =>
           {
               options.Authority = Configuration[AuthServiceEndpoint];

               options.TokenValidationParameters = new TokenValidationParameters
               {
                   ValidateIssuerSigningKey = true,
                   ValidateIssuer = false,
                   ValidateAudience = false
               };
           });
            services
                    .AddAuthorization(options =>
                    {
                        options.DefaultPolicy = new AuthorizationPolicyBuilder()
                            .RequireAuthenticatedUser()
                            .AddAuthenticationSchemes("Bearer")
                            .Build();
                    });

            app.UseAuthentication();
            app.UseAuthorization();

当我尝试加载页面时,出现 401 错误。当我检查网络选项卡时,它说

www-authenticate: Bearer error="invalid_token", error_description="未找到签名密钥"

在Request HEaders下,我可以看到

授权:持有人eyJhbGciOiJSUzI1N......

我不确定在这种情况下什么是不正确的。

Bearer error - invalid_token - The signature key was not found 这对我没有帮助。

0 个答案:

没有答案