public class CopyNameIdentifierFromRequest extends AbstractProfileAction
NameIdentifier 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.
The source of the NameIdentifier is a SAMLSubjectNameIdentifierContext returned by a lookup
strategy.
| Modifier and Type | Field and Description |
|---|---|
private Logger |
log
Class logger.
|
private NameIdentifier |
nameIdentifier
NameIdentifier to copy.
|
private SAMLObjectBuilder<NameIdentifier> |
nameIdentifierBuilder
Builder for NameIdentifier objects.
|
private com.google.common.base.Function<ProfileRequestContext,SAMLSubjectNameIdentifierContext> |
nameIdentifierContextLookupStrategy
Strategy used to locate the name identifier context to copy from.
|
private boolean |
overwriteExisting
Flag controlling whether to overwrite an existing NameIdentifier.
|
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 |
|---|
CopyNameIdentifierFromRequest()
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
private NameIdentifier |
cloneNameIdentifier()
Create an efficient field-wise copy of a
NameIdentifier. |
protected void |
doExecute(ProfileRequestContext profileRequestContext) |
protected boolean |
doPreExecute(ProfileRequestContext profileRequestContext) |
private Subject |
getStatementSubject(SubjectStatement statement)
Get the subject to which the name identifier will be added.
|
void |
setNameIdentifierContextLookupStrategy(com.google.common.base.Function<ProfileRequestContext,SAMLSubjectNameIdentifierContext> strategy)
Set the strategy used to locate the
SAMLSubjectNameIdentifierContext to copy from. |
void |
setOverwriteExisting(boolean flag)
Set whether to overwrite any existing
NameIdentifier 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, setHttpServletResponsedestroy, doDestroy, doInitialize, initialize, isDestroyed, isInitialized@Nonnull private final SAMLObjectBuilder<Subject> subjectBuilder
@Nonnull private final SAMLObjectBuilder<NameIdentifier> nameIdentifierBuilder
private boolean overwriteExisting
@Nonnull private com.google.common.base.Function<ProfileRequestContext,SAMLSubjectNameIdentifierContext> nameIdentifierContextLookupStrategy
@Nonnull private com.google.common.base.Function<ProfileRequestContext,Response> responseLookupStrategy
Response to operate on.@Nullable private NameIdentifier nameIdentifier
public CopyNameIdentifierFromRequest()
public void setOverwriteExisting(boolean flag)
NameIdentifier objects found.flag - true iff the action should overwrite any existing objectspublic void setNameIdentifierContextLookupStrategy(@Nonnull com.google.common.base.Function<ProfileRequestContext,SAMLSubjectNameIdentifierContext> strategy)
SAMLSubjectNameIdentifierContext to copy from.strategy - lookup strategypublic void setResponseLookupStrategy(@Nonnull com.google.common.base.Function<ProfileRequestContext,Response> strategy)
Response to operate on.strategy - lookup strategyprotected boolean doPreExecute(@Nonnull ProfileRequestContext profileRequestContext)
doPreExecute in class AbstractProfileActionprotected void doExecute(@Nonnull ProfileRequestContext profileRequestContext)
doExecute in class AbstractProfileAction@Nonnull private Subject getStatementSubject(@Nonnull SubjectStatement statement)
statement - the statement being modified@Nonnull private NameIdentifier cloneNameIdentifier()
NameIdentifier.Copyright © 1999–2020 Shibboleth Consortium. All rights reserved.