Class ProviderMetadataCredentialResolver

All Implemented Interfaces:
JOSEObjectCredentialResolver, Component, InitializableComponent, Resolver<Credential,CriteriaSet>, CredentialResolver

public class ProviderMetadataCredentialResolver extends BasicJOSEObjectCredentialResolver implements InitializableComponent
A LocalJOSEObjectCredentialResolver that resolves credentials from the jwks_uri of an OpenID Provider. Further filtering of credentials is provided by the AbstractCriteriaFilteringCredentialResolver parent class.

Note, only RSA or EC keys are resolved as these are the only key types which should be exposed in public JWKS documents.

  • Field Details

    • log

      @Nonnull private final org.slf4j.Logger log
      Class logger.
    • isInitialized

      private boolean isInitialized
      Initialization flag.
    • remoteJwkSetCache

      @Nonnull private final RemoteJwkSetCache remoteJwkSetCache
      The cache for remote JWK key sets.
    • keyFetchInterval

      @Positive private final Duration keyFetchInterval
      The remote key refresh interval. Default value: 30 minutes.
  • Constructor Details

    • ProviderMetadataCredentialResolver

      public ProviderMetadataCredentialResolver(@Nonnull @ParameterName(name="remoteJwkSetCache") RemoteJwkSetCache jwkSetCache)
      Constructor.
      Parameters:
      jwkSetCache - The cache for remote JWK key sets.
    • ProviderMetadataCredentialResolver

      public ProviderMetadataCredentialResolver(@Nonnull @ParameterName(name="remoteJwkSetCache") RemoteJwkSetCache jwkSetCache, @Nonnull @Positive @ParameterName(name="keyFetchInterval") Duration interval)
      Constructor.
      Parameters:
      jwkSetCache - The cache for remote JWK key sets.
      interval - The remote key refresh interval
  • Method Details