Class AddAudienceRestrictionToAssertions
java.lang.Object
net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
org.opensaml.profile.action.AbstractProfileAction
org.opensaml.profile.action.AbstractConditionalProfileAction
org.opensaml.saml.common.profile.impl.AddAudienceRestrictionToAssertions
- All Implemented Interfaces:
Component
,DestructableComponent
,InitializableComponent
,ProfileAction
Action adds an audience restriction condition to every assertion contained in a SAML 1/2
response, with the audiences obtained from a lookup function. If the containing Conditions is not present,
it will be created.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate boolean
Whether, if an assertion already contains an audience restriction, this action will add its audiences to that restriction or create another one.private Function<ProfileRequestContext,
Collection<String>> Strategy used to obtain the audiences to add.private Collection<String>
Audiences to add.private final org.slf4j.Logger
Class logger.private SAMLObject
Response to modify.private Function<ProfileRequestContext,
SAMLObject> Strategy used to locate the Response to operate on. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate void
addAudienceRestriction
(ProfileRequestContext profileRequestContext, Conditions conditions) Add the audiences obtained from a lookup function to theAudienceRestrictionCondition
.private void
addAudienceRestriction
(ProfileRequestContext profileRequestContext, Conditions conditions) Add the audiences obtained from a lookup function to theAudienceRestriction
.protected void
doExecute
(ProfileRequestContext profileRequestContext) Performs this action.protected void
protected boolean
doPreExecute
(ProfileRequestContext profileRequestContext) Called prior to execution, actions may override this method to perform pre-processing for a request.private AudienceRestriction
getAudienceRestriction
(Conditions conditions) Get theAudienceRestriction
to which audiences will be added.private AudienceRestrictionCondition
getAudienceRestrictionCondition
(Conditions conditions) Get theAudienceRestrictionCondition
to which audiences will be added.void
setAddingAudiencesToExistingRestriction
(boolean addingToExistingRestriction) Set whether, if an assertion already contains an audience restriction, this action will add its audiences to that restriction or create another one.void
Set the strategy used to obtain the audience restrictions to apply.void
Set the strategy used to locate the Response to operate on.Methods inherited from class org.opensaml.profile.action.AbstractConditionalProfileAction
getActivationCondition, setActivationCondition
Methods inherited from class org.opensaml.profile.action.AbstractProfileAction
doPostExecute, doPostExecute, execute, getHttpServletRequest, getHttpServletResponse, getLogPrefix, setHttpServletRequest, setHttpServletResponse
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 Details
-
log
@Nonnull private final org.slf4j.Logger logClass logger. -
addingAudiencesToExistingRestriction
private boolean addingAudiencesToExistingRestrictionWhether, if an assertion already contains an audience restriction, this action will add its audiences to that restriction or create another one. -
responseLookupStrategy
Strategy used to locate the Response to operate on. -
audienceRestrictionsLookupStrategy
@Nullable private Function<ProfileRequestContext,Collection<String>> audienceRestrictionsLookupStrategyStrategy used to obtain the audiences to add. -
response
Response to modify. -
audiences
Audiences to add.
-
-
Constructor Details
-
AddAudienceRestrictionToAssertions
public AddAudienceRestrictionToAssertions()Constructor.
-
-
Method Details
-
setResponseLookupStrategy
Set the strategy used to locate the Response to operate on.- Parameters:
strategy
- lookup strategy
-
setAddingAudiencesToExistingRestriction
public void setAddingAudiencesToExistingRestriction(boolean addingToExistingRestriction) Set whether, if an assertion already contains an audience restriction, this action will add its audiences to that restriction or create another one.- Parameters:
addingToExistingRestriction
- whether this action will add its audiences to that restriction or create another one
-
setAudienceRestrictionsLookupStrategy
public void setAudienceRestrictionsLookupStrategy(@Nonnull Function<ProfileRequestContext, Collection<String>> strategy) Set the strategy used to obtain the audience restrictions to apply.- Parameters:
strategy
- lookup strategy
-
doInitialize
- Overrides:
doInitialize
in 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
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.
- Overrides:
doPreExecute
in classAbstractConditionalProfileAction
- 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:
doExecute
in classAbstractProfileAction
- Parameters:
profileRequestContext
- the current IdP profile request context
-
addAudienceRestriction
private void addAudienceRestriction(@Nonnull ProfileRequestContext profileRequestContext, @Nonnull Conditions conditions) Add the audiences obtained from a lookup function to theAudienceRestrictionCondition
. If noAudienceRestrictionCondition
exists on the given Conditions one is created and added.- Parameters:
profileRequestContext
- current profile request contextconditions
- condition that has, or will receive the created,AudienceRestrictionCondition
-
addAudienceRestriction
private void addAudienceRestriction(@Nonnull ProfileRequestContext profileRequestContext, @Nonnull Conditions conditions) Add the audiences obtained from a lookup function to theAudienceRestriction
. If noAudienceRestriction
exists on the given Conditions one is created and added.- Parameters:
profileRequestContext
- current profile request contextconditions
- condition that has, or will receive the created,AudienceRestriction
-
getAudienceRestrictionCondition
@Nonnull private AudienceRestrictionCondition getAudienceRestrictionCondition(@Nonnull Conditions conditions) Get theAudienceRestrictionCondition
to which audiences will be added.- Parameters:
conditions
- existing set of conditions- Returns:
- the condition to which audiences will be added
-
getAudienceRestriction
Get theAudienceRestriction
to which audiences will be added.- Parameters:
conditions
- existing set of conditions- Returns:
- the condition to which audiences will be added
-