Class AddSubjectConfirmationToSubjects
java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
org.opensaml.profile.action.AbstractProfileAction
org.opensaml.saml.saml1.profile.impl.AddSubjectConfirmationToSubjects
- All Implemented Interfaces:
Component,DestructableComponent,InitializableComponent,ProfileAction
Action that builds
SubjectConfirmation and adds it to the Subject of all the statements
in all the assertions found in a Response. The message to update is returned by a lookup
strategy, by default the message returned by InOutOperationContext.getOutboundMessageContext().
No assertions or statements will be created by this action, but if no Subject exists in
the statements found, it will be created.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanFlag indicating whether the outbound message is being issued via the Artifact profile.private final SAMLObjectBuilder<SubjectConfirmation>Builder for SubjectConfirmation objects.private final SAMLObjectBuilder<ConfirmationMethod>Builder for ConfirmationMethod objects.private Collection<String>Methods to add.private final org.slf4j.LoggerClass logger.private booleanFlag controlling whether to overwrite an existing confirmation.private ResponseResponse to modify.private Function<ProfileRequestContext,Response> Strategy used to locate theResponseto operate on.private final SAMLObjectBuilder<Subject>Builder for Subject objects. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate SubjectConfirmationcloneConfirmation(SubjectConfirmation confirmation) Create an efficient field-wise copy of aSubjectConfirmation.protected voiddoExecute(ProfileRequestContext profileRequestContext) Performs this action.protected voidprotected 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.voidSet the strategy used to locate theResponseto operate on.Methods inherited from class org.opensaml.profile.action.AbstractProfileAction
doPostExecute, doPostExecute, ensureHttpServletRequest, ensureHttpServletResponse, execute, getHttpServletRequest, getHttpServletRequestSupplier, getHttpServletResponse, getHttpServletResponseSupplier, getLogPrefix, isPreExecuteCalled, setHttpServletRequestSupplier, setHttpServletResponseSupplierMethods inherited from class net.shibboleth.shared.component.AbstractInitializableComponent
checkComponentActive, checkSetterPreconditions, destroy, doDestroy, ifDestroyedThrowDestroyedComponentException, ifInitializedThrowUnmodifiabledComponentException, ifNotInitializedThrowUninitializedComponentException, 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.shared.component.InitializableComponent
initialize, isInitialized
-
Field Details
-
log
@Nonnull private final org.slf4j.Logger logClass logger. -
subjectBuilder
Builder for Subject objects. -
confirmationBuilder
Builder for SubjectConfirmation objects. -
confirmationMethodBuilder
Builder for ConfirmationMethod objects. -
overwriteExisting
private boolean overwriteExistingFlag controlling whether to overwrite an existing confirmation. -
responseLookupStrategy
Strategy used to locate theResponseto operate on. -
confirmationMethods
Methods to add. -
response
Response to modify. -
artifactProfile
private boolean artifactProfileFlag indicating whether the outbound message is being issued via the Artifact profile.
-
-
Constructor Details
-
AddSubjectConfirmationToSubjects
public AddSubjectConfirmationToSubjects()Constructor.
-
-
Method Details
-
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
Set the strategy used to locate theResponseto operate on.- Parameters:
strategy- strategy used to locate theResponseto operate on
-
setMethods
Set the confirmation methods to use.- Parameters:
methods- confirmation methods to use
-
doInitialize
- Overrides:
doInitializein classAbstractInitializableComponent- Throws:
ComponentInitializationException
-
doPreExecute
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
Performs this action. Actions must override this method to perform their work.- Overrides:
doExecutein classAbstractProfileAction- Parameters:
profileRequestContext- the current IdP profile request context
-
getStatementSubject
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
Create an efficient field-wise copy of aSubjectConfirmation.- Parameters:
confirmation- the object to clone- Returns:
- the copy
-