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 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
Fields Modifier and Type Field Description private IdentifierGenerationStrategy
idGenerator
The generator to use.private Function<ProfileRequestContext,IdentifierGenerationStrategy>
idGeneratorLookupStrategy
Strategy used to locate theIdentifierGenerationStrategy
to use.private String
issuerId
EntityID to populate into Issuer element.private Function<ProfileRequestContext,String>
issuerLookupStrategy
Strategy used to obtain the request issuer value.private org.slf4j.Logger
log
Class logger.private boolean
overwriteExisting
Overwrite an existing message?private BrowserSSOProfileConfiguration
profileConfiguration
Applicable profile configuration. -
Constructor Summary
Constructors Constructor Description AddAuthnRequest()
Constructor. -
Method Summary
Modifier and Type Method Description Scoping
buildScoping(ProfileRequestContext profileRequestContext, Integer count, Set<String> idplist)
Build aScoping
element, decrementing the proxy count if set.protected void
doExecute(ProfileRequestContext profileRequestContext, AuthenticationContext authenticationContext)
Performs this authentication action.protected boolean
doPreExecute(ProfileRequestContext profileRequestContext, AuthenticationContext authenticationContext)
Performs this authentication action's pre-execute step.private RequestedAuthnContext
getRequestedAuthnContext(ProfileRequestContext profileRequestContext)
Build aRequestedAuthnContext
if warranted.void
setIdentifierGeneratorLookupStrategy(Function<ProfileRequestContext,IdentifierGenerationStrategy> strategy)
Set the strategy used to locate theIdentifierGenerationStrategy
to use.void
setIssuerLookupStrategy(Function<ProfileRequestContext,String> strategy)
Set the strategy used to locate the issuer value to use.void
setOverwriteExisting(boolean flag)
Set whether to overwrite an existing message.Methods inherited from class net.shibboleth.idp.authn.AbstractAuthenticationAction
doExecute, doPreExecute, setAuthenticationContextLookupStrategy
Methods inherited from class net.shibboleth.idp.profile.AbstractProfileAction
doExecute, execute, getMessage, getMessage, getMessage, 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, getHttpServletResponse, getLogPrefix, setHttpServletRequest, setHttpServletResponse
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 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 theIdentifierGenerationStrategy
to use. -
issuerLookupStrategy
Strategy used to obtain the request issuer value. -
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 theIdentifierGenerationStrategy
to use.- Parameters:
strategy
- lookup strategy
-
setIssuerLookupStrategy
Set the strategy used to locate the issuer value to use.- Parameters:
strategy
- lookup strategy
-
doPreExecute
protected boolean doPreExecute(@Nonnull ProfileRequestContext profileRequestContext, @Nonnull AuthenticationContext authenticationContext)Performs this authentication action's pre-execute step. Default implementation just returns true.- Overrides:
doPreExecute
in 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:
doExecute
in classAbstractAuthenticationAction
- Parameters:
profileRequestContext
- the current IdP profile request contextauthenticationContext
- the current authentication context
-
getRequestedAuthnContext
@Nullable private RequestedAuthnContext getRequestedAuthnContext(@Nullable ProfileRequestContext profileRequestContext)Build aRequestedAuthnContext
if 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 aScoping
element, decrementing the proxy count if set.- Parameters:
profileRequestContext
- current profile request contextcount
- proxy countidplist
- list of IdP entityIDs- Returns:
- populated
Scoping
-