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

  • 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

    • setRelyingPartyContextLookupStrategy

      public void setRelyingPartyContextLookupStrategy(@Nonnull Function<ProfileRequestContext,RelyingPartyContext> strategy)
      Set the strategy used to locate the RelyingPartyContext associated with a given ProfileRequestContext.
      Parameters:
      strategy - strategy used to locate the RelyingPartyContext associated with a given ProfileRequestContext
    • resolve

      @Nullable 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

      protected List<com.nimbusds.openid.connect.sdk.op.OIDCProviderMetadata> parse(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

      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.