【发布时间】:2020-02-27 04:04:41
【问题描述】:
我正在尝试验证 angularapp 中的天蓝色活动目录令牌
我在 web api 中使用了以下代码
[HttpGet]
[Route("Validate")]
public JwtSecurityToken Validate(string token)
{
string stsDiscoveryEndpoint = "https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration";
ConfigurationManager<OpenIdConnectConfiguration> configManager = new ConfigurationManager<OpenIdConnectConfiguration>(stsDiscoveryEndpoint, new OpenIdConnectConfigurationRetriever());
OpenIdConnectConfiguration config = configManager.GetConfigurationAsync().Result;
TokenValidationParameters validationParameters = new TokenValidationParameters
{
ValidateAudience = false,
ValidateIssuer = false,
IssuerSigningTokens = config.SigningTokens,
ValidateLifetime = false
};
JwtSecurityTokenHandler tokendHandler = new JwtSecurityTokenHandler();
SecurityToken jwt;
var result = tokendHandler.ValidateToken(token, validationParameters, out jwt);
return jwt as JwtSecurityToken;
}
代码在IssuerSigningTokens = config.SigningTokens 处显示错误,并带有消息
TokenValidationParameters 不包含 IssuerSigningTokens
谁能给我解决办法?
我还想从 validate 方法返回我自己的令牌。
【问题讨论】:
-
你的应用是什么类型的?如果是
.NET CoreApp,应该是IssuerSigningKeys = config.SigningKeys。 -
dotnet famwork 4.5.2
标签: asp.net-web-api azure-active-directory