Class AddSubjectConfirmationToSubjects
- java.lang.Object
-
- net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
-
- org.opensaml.profile.action.AbstractProfileAction
-
- org.opensaml.saml.saml1.profile.impl.AddSubjectConfirmationToSubjects
-
- All Implemented Interfaces:
Component,DestructableComponent,InitializableComponent,ProfileAction
public class AddSubjectConfirmationToSubjects extends AbstractProfileAction
Action that buildsSubjectConfirmationand adds it to theSubjectof all the statements in all the assertions found in aResponse. The message to update is returned by a lookup strategy, by default the message returned byInOutOperationContext.getOutboundMessageContext().No assertions or statements will be created by this action, but if no
Subjectexists in the statements found, it will be created.
-
-
Field Summary
Fields Modifier and Type Field Description private booleanartifactProfileFlag indicating whether the outbound message is being issued via the Artifact profile.private SAMLObjectBuilder<SubjectConfirmation>confirmationBuilderBuilder for SubjectConfirmation objects.private SAMLObjectBuilder<ConfirmationMethod>confirmationMethodBuilderBuilder for ConfirmationMethod objects.private Collection<String>confirmationMethodsMethods to add.private org.slf4j.LoggerlogClass logger.private booleanoverwriteExistingFlag controlling whether to overwrite an existing confirmation.private ResponseresponseResponse to modify.private Function<ProfileRequestContext,Response>responseLookupStrategyStrategy used to locate theResponseto operate on.private SAMLObjectBuilder<Subject>subjectBuilderBuilder for Subject objects.
-
Constructor Summary
Constructors Constructor Description AddSubjectConfirmationToSubjects()Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private SubjectConfirmationcloneConfirmation(SubjectConfirmation confirmation)Create an efficient field-wise copy of aSubjectConfirmation.protected voiddoExecute(ProfileRequestContext profileRequestContext)Performs this action.protected voiddoInitialize()protected booleandoPreExecute(ProfileRequestContext profileRequestContext)Called prior to execution, actions may override this method to perform pre-processing for a request.private SubjectgetStatementSubject(SubjectStatement statement)Get the subject to which the confirmation will be added.voidsetMethods(Collection<String> methods)Set the confirmation methods to use.voidsetOverwriteExisting(boolean flag)Set whether to overwrite any existingSubjectConfirmationobjects found.voidsetResponseLookupStrategy(Function<ProfileRequestContext,Response> strategy)Set the strategy used to locate theResponseto operate on.-
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, 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 final org.slf4j.Logger log
Class logger.
-
subjectBuilder
@Nonnull private final SAMLObjectBuilder<Subject> subjectBuilder
Builder for Subject objects.
-
confirmationBuilder
@Nonnull private final SAMLObjectBuilder<SubjectConfirmation> confirmationBuilder
Builder for SubjectConfirmation objects.
-
confirmationMethodBuilder
@Nonnull private final SAMLObjectBuilder<ConfirmationMethod> confirmationMethodBuilder
Builder for ConfirmationMethod objects.
-
overwriteExisting
private boolean overwriteExisting
Flag controlling whether to overwrite an existing confirmation.
-
responseLookupStrategy
@Nonnull private Function<ProfileRequestContext,Response> responseLookupStrategy
Strategy used to locate theResponseto operate on.
-
confirmationMethods
@Nonnull @NonnullElements private Collection<String> confirmationMethods
Methods to add.
-
response
@Nullable private Response response
Response to modify.
-
artifactProfile
private boolean artifactProfile
Flag indicating whether the outbound message is being issued via the Artifact profile.
-
-
Method Detail
-
setOverwriteExisting
public void setOverwriteExisting(boolean flag)
Set whether to overwrite any existingSubjectConfirmationobjects found.- Parameters:
flag- true iff the action should overwrite any existing objects
-
setResponseLookupStrategy
public void setResponseLookupStrategy(@Nonnull Function<ProfileRequestContext,Response> strategy)Set the strategy used to locate theResponseto operate on.- Parameters:
strategy- strategy used to locate theResponseto operate on
-
setMethods
public void setMethods(@Nonnull @NonnullElements Collection<String> methods)
Set the confirmation methods to use.- Parameters:
methods- confirmation methods to use
-
doInitialize
protected void doInitialize() throws ComponentInitializationException- Overrides:
doInitializein classAbstractInitializableComponent- Throws:
ComponentInitializationException
-
doPreExecute
protected boolean doPreExecute(@Nonnull ProfileRequestContext profileRequestContext)Called prior to execution, actions may override this method to perform pre-processing for a request.If false is returned, execution will not proceed, and the action should attach an
EventContextto the context tree to signal how to continue with overall workflow processing.If returning successfully, the last step should be to return the result of the superclass version of this method.
- Overrides:
doPreExecutein classAbstractProfileAction- Parameters:
profileRequestContext- the current IdP profile request context- Returns:
- true iff execution should proceed
-
doExecute
protected void doExecute(@Nonnull ProfileRequestContext profileRequestContext)Performs this action. Actions must override this method to perform their work.- Overrides:
doExecutein classAbstractProfileAction- Parameters:
profileRequestContext- the current IdP profile request context
-
getStatementSubject
@Nonnull private Subject getStatementSubject(@Nonnull SubjectStatement statement)
Get the subject to which the confirmation will be added.- Parameters:
statement- the statement being modified- Returns:
- the subject to which the confirmation will be added
-
cloneConfirmation
@Nonnull private SubjectConfirmation cloneConfirmation(@Nonnull SubjectConfirmation confirmation)
Create an efficient field-wise copy of aSubjectConfirmation.- Parameters:
confirmation- the object to clone- Returns:
- the copy
-
-