更改后的大多数代码似乎都很容易解决,但是现在ConfigurationManager<OpenIdConnectConfiguration>()有两个参数而不是一个参数!
我将其用作此代码的一部分:
string stsDiscoveryEndpoint = string.Format("{0}/.well-known/openid-configuration", authority);
ConfigurationManager<OpenIdConnectConfiguration> configManager = new ConfigurationManager<OpenIdConnectConfiguration>(stsDiscoveryEndpoint, IConfigurationRetriever<>);
OpenIdConnectConfiguration config = await configManager.GetConfigurationAsync();
_issuer = config.Issuer;
_signingTokens = config.SigningTokens.ToList();
_stsMetadataRetrievalTime = DateTime.UtcNow;有没有人能告诉我ConfigurationManager需要什么参数
发布于 2017-08-07 14:07:18
正确的ConfigurationManager调用是:
ConfigurationManager<OpenIdConnectConfiguration> configManager = new ConfigurationManager<OpenIdConnectConfiguration>(stsDiscoveryEndpoint, new OpenIdConnectConfigurationRetriever());发布于 2018-09-03 21:40:53
根据您想要做的事情,您只需更改代码以调用配置检索器,如下所示:
string issuerEndpoint = "https://my.auth.server";
var openidConfiguration = await OpenIdConnectConfigurationRetriever.GetAsync(
$"{issuerEndpoint}/.well-known/openid-configuration", CancellationToken.None);
app.UseJwtBearerAuthentication(
new Microsoft.Owin.Security.Jwt.JwtBearerAuthenticationOptions()
{
TokenValidationParameters =
new TokenValidationParameters
{
ValidIssuer = openidConfiguration.Issuer,
ValidateAudience = false,
IssuerSigningKeys = openidConfiguration.SigningKeys,
IssuerSigningTokens = openidConfiguration.SigningTokens
}
});https://stackoverflow.com/questions/45500752
复制相似问题