我正在将令牌从我的 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 这对我没有帮助。