Class FilesystemClientInformationResolver

All Implemented Interfaces:
ClientInformationResolver, RefreshableClientInformationResolver, Component, DestructableComponent, IdentifiableComponent, IdentifiedComponent, InitializableComponent, Resolver<com.nimbusds.openid.connect.sdk.rp.OIDCClientInformation,CriteriaSet>

public class FilesystemClientInformationResolver extends AbstractFileOIDCEntityResolver<com.nimbusds.oauth2.sdk.id.ClientID,com.nimbusds.openid.connect.sdk.rp.OIDCClientInformation> implements RefreshableClientInformationResolver
An OIDC metadata provider that pulls client metadata from a file on the local filesystem. Based on FilesystemMetadataResolver.
  • Field Details

    • log

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

    • FilesystemClientInformationResolver

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

      public FilesystemClientInformationResolver(@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

    • doInitialize

      protected void doInitialize() throws ComponentInitializationException
      Overrides:
      doInitialize in class AbstractOIDCEntityResolver<com.nimbusds.oauth2.sdk.id.ClientID,com.nimbusds.openid.connect.sdk.rp.OIDCClientInformation>
      Throws:
      ComponentInitializationException
    • resolve

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

      @Nonnull protected List<com.nimbusds.openid.connect.sdk.rp.OIDCClientInformation> updateKeys(@Nonnull List<com.nimbusds.openid.connect.sdk.rp.OIDCClientInformation> clientInformations)
      Updates the key set in the given list of OIDC client informations. The configured remote JWK set cache is exploited.
      Parameters:
      clientInformations - The OIDC client informations whose keys are going to be updated.
      Returns:
      The OIDC client informations, containing contents of getJWKSetURI() in getJWKSet().
    • resolveSingle

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

      @Nonnull protected List<com.nimbusds.openid.connect.sdk.rp.OIDCClientInformation> 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.ClientID,com.nimbusds.openid.connect.sdk.rp.OIDCClientInformation>
      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.ClientID getKey(@Nonnull com.nimbusds.openid.connect.sdk.rp.OIDCClientInformation value)
      Gets the identifier for the given entity.
      Specified by:
      getKey in class AbstractReloadingOIDCEntityResolver<com.nimbusds.oauth2.sdk.id.ClientID,com.nimbusds.openid.connect.sdk.rp.OIDCClientInformation>
      Parameters:
      value - The entity whose identifier will be returned.
      Returns:
      The identifier for the given entity.