Class AddAuthnRequest
- java.lang.Object
-
- net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
-
- org.opensaml.profile.action.AbstractProfileAction
-
- org.opensaml.profile.action.AbstractConditionalProfileAction
-
- net.shibboleth.idp.profile.AbstractProfileAction
-
- net.shibboleth.idp.authn.AbstractAuthenticationAction
-
- net.shibboleth.idp.saml.saml2.profile.impl.AddAuthnRequest
-
- All Implemented Interfaces:
Component,DestructableComponent,InitializableComponent,ProfileAction,Aware,MessageSource,MessageSourceAware,Action
public class AddAuthnRequest extends AbstractAuthenticationAction
Action that creates anAuthnRequestand sets it as the message returned byInOutOperationContext.getOutboundMessageContext().If an issuer value is returned via a lookup strategy, then it's set as the Issuer of the message.
Various other values are derived from the active configuration such as
RequestedAuthnContext,NameIDPolicy, andScoping.- Event:
EventIds.PROCEED_EVENT_ID,EventIds.INVALID_MSG_CTX,EventIds.INVALID_PROFILE_CTX,IdPEventIds.INVALID_PROFILE_CONFIG- Postcondition:
- ProfileRequestContext.getOutboundMessageContext().getMessage() != null
-
-
Field Summary
Fields Modifier and Type Field Description private IdentifierGenerationStrategyidGeneratorThe generator to use.private Function<ProfileRequestContext,IdentifierGenerationStrategy>idGeneratorLookupStrategyStrategy used to locate theIdentifierGenerationStrategyto use.private StringissuerIdEntityID to populate into Issuer element.private Function<ProfileRequestContext,String>issuerLookupStrategyStrategy used to obtain the request issuer value.private org.slf4j.LoggerlogClass logger.private booleanoverwriteExistingOverwrite an existing message?private BrowserSSOProfileConfigurationprofileConfigurationApplicable profile configuration.private Function<ProfileRequestContext,ProxiedRequesterContext>proxiedRequesterContextLookupStrategyStrategy used to obtain the proxied requester context.private Function<ProfileRequestContext,String>requesterLookupStrategyStrategy used to obtain the original requester value.
-
Constructor Summary
Constructors Constructor Description AddAuthnRequest()Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ScopingbuildScoping(ProfileRequestContext profileRequestContext, Integer count, Set<String> idplist)Build aScopingelement, decrementing the proxy count if set.protected voiddoExecute(ProfileRequestContext profileRequestContext, AuthenticationContext authenticationContext)Performs this authentication action.protected booleandoPreExecute(ProfileRequestContext profileRequestContext, AuthenticationContext authenticationContext)Performs this authentication action's pre-execute step.private RequestedAuthnContextgetRequestedAuthnContext(ProfileRequestContext profileRequestContext)Build aRequestedAuthnContextif warranted.voidsetIdentifierGeneratorLookupStrategy(Function<ProfileRequestContext,IdentifierGenerationStrategy> strategy)Set the strategy used to locate theIdentifierGenerationStrategyto use.voidsetIssuerLookupStrategy(Function<ProfileRequestContext,String> strategy)Set the strategy used to locate the issuer value to use.voidsetOverwriteExisting(boolean flag)Set whether to overwrite an existing message.voidsetProxiedRequesterContextLookupStrategy(Function<ProfileRequestContext,ProxiedRequesterContext> strategy)Set the strategy used to locate theProxiedRequesterContextto use for the Scoping element'sRequesterIDvalues.voidsetRequesterLookupStrategy(Function<ProfileRequestContext,String> strategy)Set the strategy used to locate the requester value to use for the Scoping element'sRequesterIDvalue.-
Methods inherited from class net.shibboleth.idp.authn.AbstractAuthenticationAction
doExecute, doPreExecute, setAuthenticationContextLookupStrategy
-
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, execute, getHttpServletRequest, getHttpServletRequestSupplier, getHttpServletResponse, getHttpServletResponseSupplier, getLogPrefix, setHttpServletRequest, setHttpServletRequestSupplier, setHttpServletResponse, setHttpServletResponseSupplier
-
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
destroy, doDestroy, doInitialize, 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.utilities.java.support.component.InitializableComponent
initialize, isInitialized
-
-
-
-
Field Detail
-
log
@Nonnull private org.slf4j.Logger log
Class logger.
-
overwriteExisting
private boolean overwriteExisting
Overwrite an existing message?
-
idGeneratorLookupStrategy
@Nonnull private Function<ProfileRequestContext,IdentifierGenerationStrategy> idGeneratorLookupStrategy
Strategy used to locate theIdentifierGenerationStrategyto use.
-
issuerLookupStrategy
@Nullable private Function<ProfileRequestContext,String> issuerLookupStrategy
Strategy used to obtain the request issuer value.
-
requesterLookupStrategy
@Nonnull private Function<ProfileRequestContext,String> requesterLookupStrategy
Strategy used to obtain the original requester value.
-
proxiedRequesterContextLookupStrategy
@Nonnull private Function<ProfileRequestContext,ProxiedRequesterContext> proxiedRequesterContextLookupStrategy
Strategy used to obtain the proxied requester context.
-
idGenerator
@Nullable private IdentifierGenerationStrategy idGenerator
The generator to use.
-
profileConfiguration
@Nullable private BrowserSSOProfileConfiguration profileConfiguration
Applicable profile configuration.
-
issuerId
@Nullable private String issuerId
EntityID to populate into Issuer element.
-
-
Method Detail
-
setOverwriteExisting
public void setOverwriteExisting(boolean flag)
Set whether to overwrite an existing message.- Parameters:
flag- flag to set
-
setIdentifierGeneratorLookupStrategy
public void setIdentifierGeneratorLookupStrategy(@Nonnull Function<ProfileRequestContext,IdentifierGenerationStrategy> strategy)Set the strategy used to locate theIdentifierGenerationStrategyto use.- Parameters:
strategy- lookup strategy
-
setIssuerLookupStrategy
public void setIssuerLookupStrategy(@Nullable Function<ProfileRequestContext,String> strategy)Set the strategy used to locate the issuer value to use.- Parameters:
strategy- lookup strategy
-
setRequesterLookupStrategy
public void setRequesterLookupStrategy(@Nonnull Function<ProfileRequestContext,String> strategy)Set the strategy used to locate the requester value to use for the Scoping element'sRequesterIDvalue.- Parameters:
strategy- lookup strategy- Since:
- 4.3.0
-
setProxiedRequesterContextLookupStrategy
public void setProxiedRequesterContextLookupStrategy(@Nonnull Function<ProfileRequestContext,ProxiedRequesterContext> strategy)Set the strategy used to locate theProxiedRequesterContextto use for the Scoping element'sRequesterIDvalues.- Parameters:
strategy- lookup strategy- Since:
- 4.3.0
-
doPreExecute
protected boolean doPreExecute(@Nonnull ProfileRequestContext profileRequestContext, @Nonnull AuthenticationContext authenticationContext)Performs this authentication action's pre-execute step. Default implementation just returns true.- Overrides:
doPreExecutein classAbstractAuthenticationAction- Parameters:
profileRequestContext- the current IdP profile request contextauthenticationContext- the current authentication context- Returns:
- true iff execution should continue
-
doExecute
protected void doExecute(@Nonnull ProfileRequestContext profileRequestContext, @Nonnull AuthenticationContext authenticationContext)Performs this authentication action. Default implementation throws an exception.- Overrides:
doExecutein classAbstractAuthenticationAction- Parameters:
profileRequestContext- the current IdP profile request contextauthenticationContext- the current authentication context
-
getRequestedAuthnContext
@Nullable private RequestedAuthnContext getRequestedAuthnContext(@Nullable ProfileRequestContext profileRequestContext)
Build aRequestedAuthnContextif warranted.- Parameters:
profileRequestContext- current profile request context- Returns:
- the object to include in the request, or null
-
buildScoping
@Nullable public Scoping buildScoping(@Nonnull ProfileRequestContext profileRequestContext, @Nullable Integer count, @Nonnull @NonnullElements Set<String> idplist)
Build aScopingelement, decrementing the proxy count if set.- Parameters:
profileRequestContext- current profile request contextcount- proxy countidplist- list of IdP entityIDs- Returns:
- populated
Scoping
-
-