Class ClientInformationDataEncryptionAlgorithmsLookupStrategy

All Implemented Interfaces:
BiFunction<CriteriaSet,Predicate<String>,List<String>>

public class ClientInformationDataEncryptionAlgorithmsLookupStrategy extends DefaultDataEncryptionAlgorithmsLookupStrategy
A lookup strategy that finds data/content encryption algorithms from local configuration that are compatible with those advertised by the RP/client information.

The set of supported and configured encryption methods ('enc') are derived from the intersection of those supported by local configuration and the one configured for the RP.

  • Field Details

    • log

      @Nonnull private final org.slf4j.Logger log
      Logger.
    • clientEncryptionMethodLookupStrategy

      @Nonnull private final Function<OIDCClientInformation,String> clientEncryptionMethodLookupStrategy
      A strategy to locate the encryption method ('enc') appropriate for the JWT to be encrypted. Can return null if the metadata does not contain a value (which is means no encryption should be done).
  • Constructor Details

    • ClientInformationDataEncryptionAlgorithmsLookupStrategy

      public ClientInformationDataEncryptionAlgorithmsLookupStrategy(@Nonnull @ParameterName(name="clientEncryptionMethodLookupStrategy") Function<OIDCClientInformation,String> strategy, @Nullable @ParameterName(name="AlgorithmRegistry") AlgorithmRegistry registry)
      Constructor.
      Parameters:
      strategy - the strategy used to locate the encryption methods ('enc') from the client metadata appropriate for the JWT to be encrypted.
      registry - the algorithm registry to used when resolving algorithm URIs. Can be null.
    • ClientInformationDataEncryptionAlgorithmsLookupStrategy

      public ClientInformationDataEncryptionAlgorithmsLookupStrategy(@Nonnull @ParameterName(name="clientEncryptionMethodLookupStrategy") Function<OIDCClientInformation,String> strategy)
      Constructor.
      Parameters:
      strategy - the strategy used to locate the encryption methods ('enc') from the client metadata appropriate for the JWT to be encrypted.
  • Method Details