Class AbstractOAuth2FlowAwareProfileConfiguration

All Implemented Interfaces:
AuthenticationProfileConfiguration, InterceptorAwareProfileConfiguration, OIDCFlowAwareProfileConfiguration, OIDCProfileConfiguration, OAuth2ClientAuthenticableClientProfileConfiguration, OAuth2ClientAuthenticableProfileConfiguration, OAuth2DPoPProofValidatingProfileConfiguration, OAuth2FlowAwareProfileConfiguration, OAuth2InterceptorAwareProfileConfiguration, OAuth2ProfileConfiguration, ConditionalProfileConfiguration, ProfileConfiguration, Component, DestructableComponent, IdentifiableComponent, IdentifiedComponent, InitializableComponent
Direct Known Subclasses:
AbstractOIDCSSOConfiguration, DefaultOIDCDynamicRegistrationConfiguration

public abstract class AbstractOAuth2FlowAwareProfileConfiguration extends AbstractOAuth2ClientAuthenticableProfileConfiguration implements OIDCFlowAwareProfileConfiguration, OAuth2FlowAwareProfileConfiguration
Base class for OIDC protocol configuration, containing configuration bits shared by all flow aware OIDC protocol configurations.
  • Field Details

    • authorizationCodeFlowPredicate

      @Nonnull private Predicate<ProfileRequestContext> authorizationCodeFlowPredicate
      Predicate used to indicate whether authorization code flow is supported by this profile. Default true.
    • implicitFlowPredicate

      @Nonnull private Predicate<ProfileRequestContext> implicitFlowPredicate
      Predicate used to indicate whether implicit flow is supported by this profile. Default true.
    • hybridFlowPredicate

      @Nonnull private Predicate<ProfileRequestContext> hybridFlowPredicate
      Predicate used to indicate whether hybrid flow is supported by this profile. Default true.
    • refreshTokensPredicate

      @Nonnull private Predicate<ProfileRequestContext> refreshTokensPredicate
      Predicate used to indicate whether refresh tokens are supported by this profile. Default true.
  • Constructor Details

    • AbstractOAuth2FlowAwareProfileConfiguration

      protected AbstractOAuth2FlowAwareProfileConfiguration(@Nonnull @NotEmpty String profileId)
      Constructor.
      Parameters:
      profileId - Unique profile identifier.
  • Method Details

    • isAuthorizationCodeFlowEnabled

      public boolean isAuthorizationCodeFlowEnabled(@Nullable ProfileRequestContext profileRequestContext)
      Get whether authorization code flow is supported by this profile.
      Specified by:
      isAuthorizationCodeFlowEnabled in interface OAuth2FlowAwareProfileConfiguration
      Parameters:
      profileRequestContext - profile request context
      Returns:
      whether authorization code flow is supported by this profile
    • setAuthorizationCodeFlowEnabled

      public void setAuthorizationCodeFlowEnabled(boolean flag)
      Set whether authorization code flow is supported by this profile.
      Parameters:
      flag - flag to set
    • setAuthorizationCodeFlowEnabledPredicate

      public void setAuthorizationCodeFlowEnabledPredicate(@Nonnull Predicate<ProfileRequestContext> condition)
      Set condition used to indicate whether authorization code flow is supported by this profile.
      Parameters:
      condition - condition to set
    • isHybridFlowEnabled

      public boolean isHybridFlowEnabled(@Nullable ProfileRequestContext profileRequestContext)
      Get whether the implicit flow is supported by this profile.
      Specified by:
      isHybridFlowEnabled in interface OIDCFlowAwareProfileConfiguration
      Parameters:
      profileRequestContext - profile request context
      Returns:
      whether implicit flow is supported by this profile
    • setHybridFlowEnabled

      public void setHybridFlowEnabled(boolean flag)
      Set whether implicit flow is supported by this profile.
      Parameters:
      flag - flag to set
    • setHybridFlowEnabledPredicate

      public void setHybridFlowEnabledPredicate(@Nonnull Predicate<ProfileRequestContext> condition)
      Set condition used to indicate whether implicit flow is supported by this profile.
      Parameters:
      condition - condition to set
    • isImplicitFlowEnabled

      public boolean isImplicitFlowEnabled(@Nullable ProfileRequestContext profileRequestContext)
      Get whether hybrid flow is supported by this profile.
      Specified by:
      isImplicitFlowEnabled in interface OAuth2FlowAwareProfileConfiguration
      Parameters:
      profileRequestContext - profile request context
      Returns:
      whether hybrid flow is supported by this profile
    • setImplicitFlowEnabled

      public void setImplicitFlowEnabled(boolean flag)
      Set whether hybrid flow is supported by this profile.
      Parameters:
      flag - flag to set
    • setImplicitFlowEnabledPredicate

      public void setImplicitFlowEnabledPredicate(@Nonnull Predicate<ProfileRequestContext> condition)
      Set condition used to indicate whether hybrid flow is supported by this profile.
      Parameters:
      condition - condition to set.
    • isRefreshTokensEnabled

      public boolean isRefreshTokensEnabled(@Nullable ProfileRequestContext profileRequestContext)
      Get whether refresh tokens are supported by this profile.
      Specified by:
      isRefreshTokensEnabled in interface OAuth2FlowAwareProfileConfiguration
      Parameters:
      profileRequestContext - profile request context
      Returns:
      whether refresh tokens are supported by this profile
    • setRefreshTokensEnabled

      public void setRefreshTokensEnabled(boolean flag)
      Set whether refresh tokens are supported by this profile.
      Parameters:
      flag - flag to set
    • setRefreshTokensEnabledPredicate

      public void setRefreshTokensEnabledPredicate(@Nonnull Predicate<ProfileRequestContext> condition)
      Set condition used to indicate whether refresh tokens are supported by this profile.
      Parameters:
      condition - condition to set