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 IdentifierGenerationStrategy
The generator to use.Strategy used to locate theIdentifierGenerationStrategy
to use.private String
EntityID to populate into Issuer element.private Function<ProfileRequestContext,
String> Strategy used to obtain the request issuer value.private org.slf4j.Logger
Class logger.private boolean
Overwrite an existing message?private BrowserSSOProfileConfiguration
Applicable 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 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
Set the strategy used to locate the issuer value to use.void
setOverwriteExisting
(boolean flag) Set whether to overwrite an existing message.void
setProxiedRequesterContextLookupStrategy
(Function<ProfileRequestContext, ProxiedRequesterContext> strategy) Set the strategy used to locate theProxiedRequesterContext
to use for the Scoping element'sRequesterID
values.void
Set the strategy used to locate the requester value to use for the Scoping element'sRequesterID
value.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 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. -
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 theIdentifierGenerationStrategy
to 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'sRequesterID
value.- Parameters:
strategy
- lookup strategy- Since:
- 4.3.0
-
setProxiedRequesterContextLookupStrategy
public void setProxiedRequesterContextLookupStrategy(@Nonnull Function<ProfileRequestContext, ProxiedRequesterContext> strategy) Set the strategy used to locate theProxiedRequesterContext
to use for the Scoping element'sRequesterID
values.- 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:
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
-