Class SetRequestObjectToResponseContext

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

public class SetRequestObjectToResponseContext extends AbstractOAuthAuthorizationResponseAction
Action that stored request object to OIDCAuthenticationResponseContext. The request object may be given by value with request parameter or by reference with request_uri parameter.
  • Field Details

    • log

      @Nonnull private org.slf4j.Logger log
      Class logger.
    • protocolMessageLog

      @Nonnull private org.slf4j.Logger protocolMessageLog
      Used to log protocol messages.
    • httpClient

      @NonnullAfterInit private org.apache.hc.client5.http.classic.HttpClient httpClient
      HTTP Client used to post the data.
    • httpClientSecurityParameters

      @Nullable private HttpClientSecurityParameters httpClientSecurityParameters
      HTTP client security parameters.
    • requestObjectEnforcedPredicate

      @NonnullAfterInit private Predicate<ProfileRequestContext> requestObjectEnforcedPredicate
      Predicate for enforcing the use of request objects.
    • pushedAuthorizationRequestEnforcedPredicate

      @NonnullAfterInit private Predicate<ProfileRequestContext> pushedAuthorizationRequestEnforcedPredicate
      Predicate for enforcing the use of pushed authorization requests.
    • objectMapper

      @NonnullAfterInit private com.fasterxml.jackson.databind.ObjectMapper objectMapper
      Object mapper used for pretty-printing JWT contents.
    • pushedAuthorizationRequestUriDeserializers

      @Nonnull private List<BiFunction<ProfileRequestContext,URI,Map<String,Object>>> pushedAuthorizationRequestUriDeserializers
      List of deserializers for OP-issued request_uri values.
    • requirePushedAuthorization

      private boolean requirePushedAuthorization
      Whether to require pushed authorization request to be used.
  • Constructor Details

    • SetRequestObjectToResponseContext

      public SetRequestObjectToResponseContext()
      Constructor.
  • Method Details

    • setHttpClient

      public void setHttpClient(@Nonnull org.apache.hc.client5.http.classic.HttpClient client)
      Set the HttpClient to use.
      Parameters:
      client - client to use
    • setHttpClientSecurityParameters

      public void setHttpClientSecurityParameters(@Nullable HttpClientSecurityParameters params)
      Set the optional client security parameters.
      Parameters:
      params - the new client security parameters
    • setRequestObjectEnforcedPredicate

      public void setRequestObjectEnforcedPredicate(@Nonnull Predicate<ProfileRequestContext> predicate)
      Set the predicate for enforcing the use of request objects.
      Parameters:
      predicate - the predicate for enforcing the use of request objects
    • setPushedAuthorizationRequestEnforcedPredicate

      public void setPushedAuthorizationRequestEnforcedPredicate(@Nonnull Predicate<ProfileRequestContext> predicate)
      Set the predicate for enforcing the use of pushed authorization requests.
      Parameters:
      predicate - the predicate for enforcing the use of pushed authorization requests
      Since:
      4.2.0
    • setObjectMapper

      public void setObjectMapper(@Nonnull com.fasterxml.jackson.databind.ObjectMapper mapper)
      Set the object mapper used for pretty-printing JWT contents.
      Parameters:
      mapper - What to set.
      Since:
      4.1.0
    • setPushedAuthorizationRequestUriDeserializers

      public void setPushedAuthorizationRequestUriDeserializers(@Nonnull List<BiFunction<ProfileRequestContext,URI,Map<String,Object>>> deserializers)
      Set the list of deserializers for OP-issued request_uri values.
      Parameters:
      deserializers - What to set.
      Since:
      4.2.0
    • buildHttpContext

      @Nonnull private org.apache.hc.client5.http.protocol.HttpClientContext buildHttpContext(@Nonnull org.apache.hc.core5.http.ClassicHttpRequest request)
      Build the HttpClientContext instance to be used by the HttpClient.
      Parameters:
      request - the HTTP client request
      Returns:
      the client context instance
    • doInitialize

      protected void doInitialize() throws ComponentInitializationException
      Overrides:
      doInitialize in class AbstractInitializableComponent
      Throws:
      ComponentInitializationException
    • doPreExecute

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

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

      protected void doProtocolLog(@Nonnull ProfileRequestContext profileRequestContext, @Nonnull JWT jwt, @Nonnull String messagePrefix)
      Create a protocol message containing the pretty-printed contents of the given JWT.
      Parameters:
      profileRequestContext - Profile request context where to publish possible error event
      jwt - The token to be logged
      messagePrefix - The prefix for the protocol log message