Class InitializeOAuth2ClientContext

java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
org.opensaml.profile.action.AbstractProfileAction
org.opensaml.profile.action.AbstractConditionalProfileAction
net.shibboleth.idp.profile.AbstractProfileAction
net.shibboleth.sp.profile.AbstractAgentRequestAction
net.shibboleth.sp.profile.AbstractAgentAction
net.shibboleth.sp.oidc.profile.impl.InitializeOAuth2ClientContext
All Implemented Interfaces:
net.shibboleth.shared.component.Component, net.shibboleth.shared.component.DestructableComponent, net.shibboleth.shared.component.InitializableComponent, org.opensaml.profile.action.ProfileAction, Aware, MessageSource, MessageSourceAware, Action

public class InitializeOAuth2ClientContext extends net.shibboleth.sp.profile.AbstractAgentAction
An action that resolves the client identifier and redirect URI for the chosen provider (issuer).
Event:
EventIds.PROCEED_EVENT_ID, IdPEventIds.INVALID_PROFILE_CONFIG, EventIds.INVALID_PROFILE_CTX
Postcondition:
Add the clientId and redirect URI to the OAuth2ClientContext
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private Function<org.opensaml.profile.context.ProfileRequestContext,String>
    Strategy used to obtain the request issuer value.
    private final org.slf4j.Logger
    Class logger.
    private net.shibboleth.oidc.profile.context.OAuth2ClientContext
    The stashed OAuth2 client context.
    private Function<org.opensaml.profile.context.ProfileRequestContext,net.shibboleth.oidc.profile.context.OAuth2ClientContext>
    The strategy used to lookup or create the OAuth2ClientContext for storing the client_id.
    private net.shibboleth.oidc.profile.config.OIDCAuthenticationRelyingPartyProfileConfiguration
    Applicable stashed profile configuration.
    private Function<org.opensaml.profile.context.ProfileRequestContext,URI>
    A redirect_uri lookup strategy which can pull out an override redirect_uri from the profile request context.
    private Function<org.opensaml.profile.context.ProfileRequestContext,net.shibboleth.profile.context.RelyingPartyContext>
    Lookup function for relying party context.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    doExecute(org.opensaml.profile.context.ProfileRequestContext profileRequestContext)
     
    protected boolean
    doPreExecute(org.opensaml.profile.context.ProfileRequestContext profileRequestContext)
     
    void
    setIssuerLookupStrategy(Function<org.opensaml.profile.context.ProfileRequestContext,String> strategy)
    Set the strategy used to locate the issuer value to use.
    void
    setOAuth2ClientContextLookupStrategy(Function<org.opensaml.profile.context.ProfileRequestContext,net.shibboleth.oidc.profile.context.OAuth2ClientContext> strgy)
    Set the strategy to lookup the OAuth2ClientContext from the ProfileRequestContext.
    void
    setRedirectUriOverrideLookupStrategy(Function<org.opensaml.profile.context.ProfileRequestContext,URI> strategy)
    Set the redirect_uri lookup strategy to locate an explicitly set redirect_uri.
    void
    setRelyingPartyContextLookupStrategy(Function<org.opensaml.profile.context.ProfileRequestContext,net.shibboleth.profile.context.RelyingPartyContext> strategy)
    Set lookup strategy for relying party context.

    Methods inherited from class net.shibboleth.sp.profile.AbstractAgentAction

    ensureAgent, getAgent

    Methods inherited from class net.shibboleth.sp.profile.AbstractAgentRequestAction

    ensureAgentRequestContext, getAgentRequestContext, setAgentRequestContextLookupStrategy

    Methods inherited from class net.shibboleth.idp.profile.AbstractProfileAction

    doExecute, execute, getBean, getBean, getMessage, getMessage, getMessage, getParameter, getParameter, getProfileContextLookupStrategy, getRequestContext, getResult, setMessageSource, setProfileContextLookupStrategy

    Methods inherited from class org.opensaml.profile.action.AbstractConditionalProfileAction

    getActivationCondition, setActivationCondition

    Methods inherited from class org.opensaml.profile.action.AbstractProfileAction

    doPostExecute, doPostExecute, ensureHttpServletRequest, ensureHttpServletResponse, execute, getHttpServletRequest, getHttpServletRequestSupplier, getHttpServletResponse, getHttpServletResponseSupplier, getLogPrefix, isPreExecuteCalled, setHttpServletRequestSupplier, setHttpServletResponseSupplier

    Methods inherited from class net.shibboleth.shared.component.AbstractInitializableComponent

    checkComponentActive, checkSetterPreconditions, destroy, doDestroy, doInitialize, ifDestroyedThrowDestroyedComponentException, ifInitializedThrowUnmodifiabledComponentException, ifNotInitializedThrowUninitializedComponentException, initialize, isDestroyed, isInitialized

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface net.shibboleth.shared.component.InitializableComponent

    initialize, isInitialized
  • Field Details

    • log

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

      @Nonnull private Function<org.opensaml.profile.context.ProfileRequestContext,net.shibboleth.oidc.profile.context.OAuth2ClientContext> oauth2ClientContextLookupStrategy
      The strategy used to lookup or create the OAuth2ClientContext for storing the client_id.
    • oauth2ClientContext

      @NonnullBeforeExec private net.shibboleth.oidc.profile.context.OAuth2ClientContext oauth2ClientContext
      The stashed OAuth2 client context.
    • redirectUriOverrideLookupStrategy

      @Nonnull private Function<org.opensaml.profile.context.ProfileRequestContext,URI> redirectUriOverrideLookupStrategy
      A redirect_uri lookup strategy which can pull out an override redirect_uri from the profile request context.
    • relyingPartyContextLookupStrategy

      @Nonnull private Function<org.opensaml.profile.context.ProfileRequestContext,net.shibboleth.profile.context.RelyingPartyContext> relyingPartyContextLookupStrategy
      Lookup function for relying party context.
    • issuerLookupStrategy

      @Nonnull private Function<org.opensaml.profile.context.ProfileRequestContext,String> issuerLookupStrategy
      Strategy used to obtain the request issuer value.
    • profileConfiguration

      @NonnullBeforeExec private net.shibboleth.oidc.profile.config.OIDCAuthenticationRelyingPartyProfileConfiguration profileConfiguration
      Applicable stashed profile configuration.
  • Constructor Details

    • InitializeOAuth2ClientContext

      public InitializeOAuth2ClientContext()
      Constructor.
  • Method Details

    • setRelyingPartyContextLookupStrategy

      public void setRelyingPartyContextLookupStrategy(@Nonnull Function<org.opensaml.profile.context.ProfileRequestContext,net.shibboleth.profile.context.RelyingPartyContext> strategy)
      Set lookup strategy for relying party context.
      Parameters:
      strategy - lookup strategy
    • setIssuerLookupStrategy

      public void setIssuerLookupStrategy(@Nonnull Function<org.opensaml.profile.context.ProfileRequestContext,String> strategy)
      Set the strategy used to locate the issuer value to use.
      Parameters:
      strategy - lookup strategy
    • setRedirectUriOverrideLookupStrategy

      public void setRedirectUriOverrideLookupStrategy(@Nonnull Function<org.opensaml.profile.context.ProfileRequestContext,URI> strategy)
      Set the redirect_uri lookup strategy to locate an explicitly set redirect_uri.
      Parameters:
      strategy - the strategy.
    • setOAuth2ClientContextLookupStrategy

      public void setOAuth2ClientContextLookupStrategy(@Nonnull Function<org.opensaml.profile.context.ProfileRequestContext,net.shibboleth.oidc.profile.context.OAuth2ClientContext> strgy)
      Set the strategy to lookup the OAuth2ClientContext from the ProfileRequestContext.
      Parameters:
      strgy - the strategy.
    • doPreExecute

      protected boolean doPreExecute(@Nonnull org.opensaml.profile.context.ProfileRequestContext profileRequestContext)
      Overrides:
      doPreExecute in class net.shibboleth.sp.profile.AbstractAgentAction
    • doExecute

      protected void doExecute(@Nonnull org.opensaml.profile.context.ProfileRequestContext profileRequestContext)
      Overrides:
      doExecute in class org.opensaml.profile.action.AbstractProfileAction