【发布时间】:2022-11-01 14:57:57
【问题描述】:
我有一个独立的 blazor WASM 应用程序,它需要向外部应用程序发送请求。我需要验证我从 API 中的 WASM 应用收到的身份验证。
我可以看到正在发送的 Bearer 令牌,我在 jwt.io 中对其进行了检查,数据似乎很有意义。
客户端配置如下所示:
"AzureAd": {
"Authority": "https://login.microsoftonline.com/common",
"ClientId": "****",
"ValidateAuthority": true
}
我尝试了以下 TokenValidationParameters 但没有成功:
var stsDiscoveryEndpoint = String.Format(CultureInfo.InvariantCulture, $"https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration");
var configManager = new ConfigurationManager<OpenIdConnectConfiguration>(stsDiscoveryEndpoint, new OpenIdConnectConfigurationRetriever());
var config = await configManager.GetConfigurationAsync();
var validationParameters = new TokenValidationParameters
{
ValidateAudience = false,
ValidateIssuer = true,
IssuerSigningKeys = config.SigningKeys,
ValidIssuer = config.Issuer,
ValidateLifetime = false
};
我已经放松了“验证”,希望找出问题所在,但我不断收到“签名验证失败”
知道如何验证令牌吗?
【问题讨论】:
标签: c# asp.net-core jwt blazor-webassembly webassembly