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
Action that creates an
AuthnRequest and sets it as the message returned by
InOutOperationContext.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, and Scoping.
- Event:
EventIds.PROCEED_EVENT_ID,EventIds.INVALID_MSG_CTX,EventIds.INVALID_PROFILE_CTX,IdPEventIds.INVALID_PROFILE_CONFIG- Postcondition:
- ProfileRequestContext.getOutboundMessageContext().getMessage() != null
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate IdentifierGenerationStrategyThe generator to use.Strategy used to locate theIdentifierGenerationStrategyto use.private StringEntityID to populate into Issuer element.private Function<ProfileRequestContext,String> Strategy used to obtain the request issuer value.private org.slf4j.LoggerClass logger.private booleanOverwrite an existing message?private BrowserSSOProfileConfigurationApplicable profile configuration.Strategy used to obtain the proxied requester context.private Function<ProfileRequestContext,String> Strategy used to obtain the original requester value. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuildScoping(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.voidSet 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.voidSet 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, setAuthenticationContextLookupStrategyMethods inherited from class net.shibboleth.idp.profile.AbstractProfileAction
doExecute, execute, getBean, getBean, getMessage, getMessage, getMessage, getParameter, getParameter, getProfileContextLookupStrategy, getRequestContext, getResult, setMessageSource, setProfileContextLookupStrategyMethods inherited from class org.opensaml.profile.action.AbstractConditionalProfileAction
getActivationCondition, setActivationConditionMethods inherited from class org.opensaml.profile.action.AbstractProfileAction
doPostExecute, doPostExecute, execute, getHttpServletRequest, getHttpServletRequestSupplier, getHttpServletResponse, getHttpServletResponseSupplier, getLogPrefix, setHttpServletRequest, setHttpServletRequestSupplier, setHttpServletResponse, setHttpServletResponseSupplierMethods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
destroy, doDestroy, doInitialize, initialize, isDestroyed, isInitializedMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.shibboleth.utilities.java.support.component.InitializableComponent
initialize, isInitialized
-
Field Details
-
log
@Nonnull private org.slf4j.Logger logClass logger. -
overwriteExisting
private boolean overwriteExistingOverwrite an existing message? -
idGeneratorLookupStrategy
@Nonnull private Function<ProfileRequestContext,IdentifierGenerationStrategy> idGeneratorLookupStrategyStrategy used to locate theIdentifierGenerationStrategyto use. -
issuerLookupStrategy
Strategy used to obtain the request issuer value. -
requesterLookupStrategy
Strategy used to obtain the original requester value. -
proxiedRequesterContextLookupStrategy
@Nonnull private Function<ProfileRequestContext,ProxiedRequesterContext> proxiedRequesterContextLookupStrategyStrategy used to obtain the proxied requester context. -
idGenerator
The generator to use. -
profileConfiguration
Applicable profile configuration. -
issuerId
EntityID to populate into Issuer element.
-
-
Constructor Details
-
AddAuthnRequest
public AddAuthnRequest()Constructor.
-
-
Method Details
-
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
Set the strategy used to locate the issuer value to use.- Parameters:
strategy- lookup strategy
-
setRequesterLookupStrategy
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
-