Class FilesystemProviderMetadataResolver

All Implemented Interfaces:
ProviderMetadataResolver, RefreshableProviderMetadataResolver, Component, DestructableComponent, IdentifiableComponent, IdentifiedComponent, InitializableComponent, Resolver<com.nimbusds.openid.connect.sdk.op.OIDCProviderMetadata,CriteriaSet>

public class FilesystemProviderMetadataResolver extends AbstractFileOIDCEntityResolver<com.nimbusds.oauth2.sdk.id.Issuer,com.nimbusds.openid.connect.sdk.op.OIDCProviderMetadata> implements RefreshableProviderMetadataResolver
An OIDC metadata provider that pulls provider metadata from a file on the local filesystem. Based on FilesystemMetadataResolver.
  • Field Details

    • log

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

    • FilesystemProviderMetadataResolver

      public FilesystemProviderMetadataResolver(@Nonnull Resource metadata) throws IOException
      Constructor.
      Parameters:
      metadata - the metadata file
      Throws:
      IOException - If the metedata cannot be loaded.
    • FilesystemProviderMetadataResolver

      public FilesystemProviderMetadataResolver(@Nullable Timer backgroundTaskTimer, @Nonnull Resource metadata) throws IOException
      Constructor.
      Parameters:
      metadata - the metadata file
      backgroundTaskTimer - timer used to refresh metadata in the background
      Throws:
      IOException - If the metedata cannot be loaded.
  • Method Details

    • resolve

      @Nonnull public Iterable<com.nimbusds.openid.connect.sdk.op.OIDCProviderMetadata> resolve(@Nullable CriteriaSet criteria) throws ResolverException
      Specified by:
      resolve in interface Resolver<com.nimbusds.openid.connect.sdk.op.OIDCProviderMetadata,CriteriaSet>
      Throws:
      ResolverException
    • resolveSingle

      @Nullable public com.nimbusds.openid.connect.sdk.op.OIDCProviderMetadata resolveSingle(@Nullable CriteriaSet criteria) throws ResolverException
      Specified by:
      resolveSingle in interface Resolver<com.nimbusds.openid.connect.sdk.op.OIDCProviderMetadata,CriteriaSet>
      Throws:
      ResolverException
    • parse

      @Nonnull protected List<com.nimbusds.openid.connect.sdk.op.OIDCProviderMetadata> parse(@Nonnull byte[] bytes) throws com.nimbusds.oauth2.sdk.ParseException
      Parses an entity from the byte array.
      Specified by:
      parse in class AbstractReloadingOIDCEntityResolver<com.nimbusds.oauth2.sdk.id.Issuer,com.nimbusds.openid.connect.sdk.op.OIDCProviderMetadata>
      Parameters:
      bytes - The encoded entity
      Returns:
      The parsed entity
      Throws:
      com.nimbusds.oauth2.sdk.ParseException - if parse fails
    • getKey

      @Nonnull protected com.nimbusds.oauth2.sdk.id.Issuer getKey(@Nonnull com.nimbusds.openid.connect.sdk.op.OIDCProviderMetadata value)
      Gets the identifier for the given entity.
      Specified by:
      getKey in class AbstractReloadingOIDCEntityResolver<com.nimbusds.oauth2.sdk.id.Issuer,com.nimbusds.openid.connect.sdk.op.OIDCProviderMetadata>
      Parameters:
      value - The entity whose identifier will be returned.
      Returns:
      The identifier for the given entity.