public class AddSubjectConfirmationToSubjects extends AbstractProfileAction
SubjectConfirmation
and adds it to the Subject
of 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 will be created by this action, but if no Subject
exists in
the assertions found, it will be cretaed.
An associated SubjectConfirmationData
will be built to spec based on a set of
lookup functions that optionally provide various attributes. They have appropriate defaults
for the simple use case of a bearer SSO assertion but need to be overridden for other cases.
Constructor and Description |
---|
AddSubjectConfirmationToSubjects()
Constructor.
|
Modifier and Type | Method and Description |
---|---|
protected void |
doExecute(ProfileRequestContext profileRequestContext)
Performs this action.
|
protected void |
doInitialize()
Performs the initialization of the component.
|
protected boolean |
doPreExecute(ProfileRequestContext profileRequestContext)
Called prior to execution, actions may override this method to perform pre-processing for a request.
|
void |
setAddressLookupStrategy(com.google.common.base.Function<ProfileRequestContext,String> strategy)
Set the strategy used to obtain value for
SubjectConfirmationData.getAddress() . |
void |
setInResponseToLookupStrategy(com.google.common.base.Function<ProfileRequestContext,String> strategy)
Set the strategy used to obtain value for
SubjectConfirmationData.getInResponseTo() . |
void |
setLifetimeLookupStrategy(com.google.common.base.Function<ProfileRequestContext,Long> strategy)
Set the strategy used to obtain value for
SubjectConfirmationData.getNotOnOrAfter() . |
void |
setMethod(String method)
Set the confirmation method to use.
|
void |
setOverwriteExisting(boolean flag)
Set whether to overwrite any existing
SubjectConfirmation objects found. |
void |
setRecipientLookupStrategy(com.google.common.base.Function<ProfileRequestContext,String> strategy)
Set the strategy used to obtain value for
SubjectConfirmationData.getRecipient() . |
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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
initialize, isInitialized
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 setAddressLookupStrategy(@Nullable com.google.common.base.Function<ProfileRequestContext,String> strategy)
SubjectConfirmationData.getAddress()
.strategy
- lookup strategypublic void setInResponseToLookupStrategy(@Nullable com.google.common.base.Function<ProfileRequestContext,String> strategy)
SubjectConfirmationData.getInResponseTo()
.strategy
- lookup strategypublic void setRecipientLookupStrategy(@Nullable com.google.common.base.Function<ProfileRequestContext,String> strategy)
SubjectConfirmationData.getRecipient()
.strategy
- lookup strategypublic void setLifetimeLookupStrategy(@Nullable com.google.common.base.Function<ProfileRequestContext,Long> strategy)
SubjectConfirmationData.getNotOnOrAfter()
.strategy
- lookup strategypublic void setMethod(@Nonnull @NotEmpty String method)
method
- confirmation method to useprotected void doInitialize() throws ComponentInitializationException
doInitialize
in class AbstractInitializableComponent
ComponentInitializationException
- thrown if there is a problem initializing the componentprotected boolean doPreExecute(@Nonnull ProfileRequestContext profileRequestContext)
If false is returned, execution will not proceed, and the action should attach an
EventContext
to 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.
doPreExecute
in class AbstractProfileAction
profileRequestContext
- the current IdP profile request contextprotected void doExecute(@Nonnull ProfileRequestContext profileRequestContext)
doExecute
in class AbstractProfileAction
profileRequestContext
- the current IdP profile request contextCopyright © 2016 JBoss by Red Hat. All rights reserved.