В API ASP.NET мы использовали OpenIdConnectCachingSecurityTokenProvider, который кэшировал бы SecurityTokens в течение 1 минуты, прежде чем обновлять его снова.
Есть ли способ воспроизвести такое поведение в ASP.NET Core?
Я только что использовал Microsoft.AspNetCore.Authentication.JwtBearer , чтобы проверить JwtBearerOptions в моем .NET Core 2.0 Web API.Вы можете явно настроить JwtBearerOptions.ConfigurationManager, который отвечает за получение, кэширование и обновление конфигурации из метаданных.Вот фрагмент кода, вы можете сослаться на него:
JwtBearerOptions
JwtBearerOptions.ConfigurationManager
public void ConfigureServices(IServiceCollection services) { services.AddAuthentication(options => { options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme; }).AddJwtBearer(jwtOptions => { jwtOptions.Audience = "{Audience}"; jwtOptions.Authority = "{Authority}"; jwtOptions.ConfigurationManager = new ConfigurationManager<OpenIdConnectConfiguration>( "https://login.microsoftonline.com/bruceb2c.onmicrosoft.com/v2.0/.well-known/openid-configuration?p={your-signin/signup-policy}", new OpenIdConnectConfigurationRetriever()) { RefreshInterval = new TimeSpan(0, 5, 0) //5 minutes }; }); services.AddMvc(); }