<PackageReference Include="Microsoft.IdentityModel.Tokens" Version="8.19.2" />

Microsoft.IdentityModel.Tokens.BaseConfigurationManager

public abstract class BaseConfigurationManager
Represents a generic configuration manager.

Default time interval (12 hours) after which a new configuration is obtained automatically.

Default time interval (1 hour) for which the last known good configuration remains valid.

public static readonly TimeSpan DefaultRefreshInterval

Default time interval (5 minutes) that must pass for RequestRefresh to obtain a new configuration.

Minimum time interval (5 minutes) for automatic refresh. AutomaticRefreshInterval cannot be set to less than this value.

public static readonly TimeSpan MinimumRefreshInterval

Minimum time interval (1 second) that must pass before calling RequestRefresh to obtain new configuration.

public TimeSpan AutomaticRefreshInterval { get; set; }

Gets or sets the TimeSpan that controls how often an automatic metadata refresh should occur.

public bool IsLastKnownGoodValid { get; }

Gets a value indicating whether the last known good configuration is still valid, depends on when the LKG was first used and it's lifetime.

The last known good configuration or LKG (a configuration retrieved in the past that we were able to successfully validate a token against).

public TimeSpan LastKnownGoodLifetime { get; set; }

The length of time that a last known good configuration is valid for.

public string MetadataAddress { get; set; }

The metadata address to retrieve the configuration from.

public TimeSpan RefreshInterval { get; set; }

The minimum time between retrievals, in the event that a retrieval failed, or that a refresh was explicitly requested.

public bool UseLastKnownGoodConfiguration { get; set; }

Gets or sets a value indicating whether to use the last known good configuration. Default is true.

Initializes a new instance of the BaseConfigurationManager class.

Initializes a new instance of the BaseConfigurationManager class.

Obtains an updated version of BaseConfiguration if the appropriate refresh interval has passed. This method may return a cached version of the configuration.

public abstract void RequestRefresh()

Indicate that the configuration may be stale (as indicated by failing to process incoming tokens).