public class AddSubjectConfirmationToSubjects extends AbstractProfileAction
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.
Modifier and Type | Field and Description |
---|---|
private boolean |
artifactProfile
Flag indicating whether the outbound message is being issued via the Artifact profile.
|
private SAMLObjectBuilder<SubjectConfirmation> |
confirmationBuilder
Builder for SubjectConfirmation objects.
|
private SAMLObjectBuilder<ConfirmationMethod> |
confirmationMethodBuilder
Builder for ConfirmationMethod objects.
|
private Collection<String> |
confirmationMethods
Methods to add.
|
private org.slf4j.Logger |
log
Class logger.
|
private boolean |
overwriteExisting
Flag controlling whether to overwrite an existing confirmation.
|
private Response |
response
Response to modify.
|
private com.google.common.base.Function<ProfileRequestContext,Response> |
responseLookupStrategy
Strategy used to locate the
Response to operate on. |
private SAMLObjectBuilder<Subject> |
subjectBuilder
Builder for Subject objects.
|
Constructor and Description |
---|
AddSubjectConfirmationToSubjects()
Constructor.
|
Modifier and Type | Method and Description |
---|---|
private SubjectConfirmation |
cloneConfirmation(SubjectConfirmation confirmation)
Create an efficient field-wise copy of a
SubjectConfirmation . |
protected void |
doExecute(ProfileRequestContext profileRequestContext) |
protected void |
doInitialize() |
protected boolean |
doPreExecute(ProfileRequestContext profileRequestContext) |
private Subject |
getStatementSubject(SubjectStatement statement)
Get the subject to which the confirmation will be added.
|
void |
setMethods(Collection<String> methods)
Set the confirmation methods to use.
|
void |
setOverwriteExisting(boolean flag)
Set whether to overwrite any existing
SubjectConfirmation objects found. |
void |
setResponseLookupStrategy(com.google.common.base.Function<ProfileRequestContext,Response> strategy)
Set the strategy used to locate the
Response to operate on. |
doPostExecute, doPostExecute, execute, getHttpServletRequest, getHttpServletResponse, getLogPrefix, setHttpServletRequest, setHttpServletResponse
destroy, doDestroy, initialize, isDestroyed, isInitialized
@Nonnull private final org.slf4j.Logger log
@Nonnull private final SAMLObjectBuilder<Subject> subjectBuilder
@Nonnull private final SAMLObjectBuilder<SubjectConfirmation> confirmationBuilder
@Nonnull private final SAMLObjectBuilder<ConfirmationMethod> confirmationMethodBuilder
private boolean overwriteExisting
@Nonnull private com.google.common.base.Function<ProfileRequestContext,Response> responseLookupStrategy
Response
to operate on.@Nonnull @NonnullElements private Collection<String> confirmationMethods
private boolean artifactProfile
public AddSubjectConfirmationToSubjects()
public void setOverwriteExisting(boolean flag)
SubjectConfirmation
objects found.flag
- true iff the action should overwrite any existing objectspublic void setResponseLookupStrategy(@Nonnull com.google.common.base.Function<ProfileRequestContext,Response> strategy)
Response
to operate on.strategy
- strategy used to locate the Response
to operate onpublic void setMethods(@Nonnull @NonnullElements Collection<String> methods)
methods
- confirmation methods to useprotected void doInitialize() throws net.shibboleth.utilities.java.support.component.ComponentInitializationException
doInitialize
in class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
net.shibboleth.utilities.java.support.component.ComponentInitializationException
protected boolean doPreExecute(@Nonnull ProfileRequestContext profileRequestContext)
doPreExecute
in class AbstractProfileAction
protected void doExecute(@Nonnull ProfileRequestContext profileRequestContext)
doExecute
in class AbstractProfileAction
@Nonnull private Subject getStatementSubject(@Nonnull SubjectStatement statement)
statement
- the statement being modified@Nonnull private SubjectConfirmation cloneConfirmation(@Nonnull SubjectConfirmation confirmation)
SubjectConfirmation
.confirmation
- the object to cloneCopyright © 1999–2020 Shibboleth Consortium. All rights reserved.