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.
    • pushedAuthorizationRequestContextLookupStrategy

      @Nonnull private Function<ProfileRequestContext,OAuth2PushedAuthorizationRequestContext> pushedAuthorizationRequestContextLookupStrategy
      Lookup strategy for pushed authorization request context.
    • 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
    • setPushedAuthorizationRequestContextLookupStrategy

      public void setPushedAuthorizationRequestContextLookupStrategy(@Nonnull Function<ProfileRequestContext,OAuth2PushedAuthorizationRequestContext> strategy)
      Set the lookup strategy for pushed authorization request context.
      Parameters:
      strategy - the lookup strategy for pushed authorization request context
      Since:
      4.4.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 com.nimbusds.jwt.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