Class AddRequestObjectSecurityConfigurationToClientMetadata

All Implemented Interfaces:
Component, DestructableComponent, InitializableComponent, ProfileAction, Aware, MessageSource, MessageSourceAware, Action

public class AddRequestObjectSecurityConfigurationToClientMetadata extends AbstractOIDCClientMetadataPopulationAction
Verifies and adds the request object configuration details (request_object_signing_alg, request_object_encryption_alg and request_object_encryption_enc) to the client metadata.
  • Field Details

    • log

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

      @Nonnull private Function<ProfileRequestContext,List<String>> signatureAlgorithmsLookupStrategy
      Strategy to obtain list of supported signature algorithms.
    • dataEncryptionAlgorithmsLookupStrategy

      @Nonnull private Function<ProfileRequestContext,List<String>> dataEncryptionAlgorithmsLookupStrategy
      Strategy to obtain list of supported data encryption algorithms.
    • keyTransportEncryptionAlgorithmsLookupStrategy

      @Nonnull private Function<ProfileRequestContext,List<String>> keyTransportEncryptionAlgorithmsLookupStrategy
      Strategy to obtain list of supported key transport encryption algorithms.
    • allowSignatureNone

      private boolean allowSignatureNone
      Whether signature algorithm none is allowed regardless of what list of Signature Validation Algs has.
    • supportedSignatureValidationAlgs

      @Nullable private List<String> supportedSignatureValidationAlgs
      List of supported signature validation algorithms obtained from the security configuration.
    • supportedDecryptionEncs

      @Nullable private List<String> supportedDecryptionEncs
      List of supported data decryption algorithms obtained from the security configuration.
    • supportedDecryptionAlgs

      @Nullable private List<String> supportedDecryptionAlgs
      List of supported key transport algorithms obtained from the security configuration.
  • Constructor Details

    • AddRequestObjectSecurityConfigurationToClientMetadata

      public AddRequestObjectSecurityConfigurationToClientMetadata()
      Constructor.
  • Method Details

    • setAllowSignatureNone

      public void setAllowSignatureNone(boolean allow)
      Set whether signature algorithm none is allowed regardless of what list of Signature Validation Algs has.
      Parameters:
      allow - Whether signature algorithm none is allowed regardless of what list of Signature Validation Algs has
    • setSignatureAlgorithmsLookupStrategy

      public void setSignatureAlgorithmsLookupStrategy(@Nonnull Function<ProfileRequestContext,List<String>> strategy)
      Set the strategy used to obtain list of supported signature algorithms.
      Parameters:
      strategy - What to set.
    • setDataEncryptionAlgorithmsLookupStrategy

      public void setDataEncryptionAlgorithmsLookupStrategy(@Nonnull Function<ProfileRequestContext,List<String>> strategy)
      Set the strategy used to obtain list of supported signature algorithms.
      Parameters:
      strategy - What to set.
    • setKeyTransportAlgorithmsLookupStrategy

      public void setKeyTransportAlgorithmsLookupStrategy(@Nonnull Function<ProfileRequestContext,List<String>> strategy)
      Set the strategy used to obtain list of supported signature algorithms.
      Parameters:
      strategy - What to set.
    • doPreExecute

      protected boolean doPreExecute(@Nonnull ProfileRequestContext profileRequestContext)
      Overrides:
      doPreExecute in class AbstractOIDCClientMetadataPopulationAction
    • doExecute

      protected void doExecute(@Nonnull ProfileRequestContext profileRequestContext)
      Overrides:
      doExecute in class AbstractProfileAction