Package net.shibboleth.idp.authn.impl

# Class AttributeSourcedSubjectCanonicalizationAction

java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
org.opensaml.profile.action.AbstractProfileAction
org.opensaml.profile.action.AbstractConditionalProfileAction
net.shibboleth.idp.profile.AbstractProfileAction
net.shibboleth.idp.authn.AbstractSubjectCanonicalizationAction
net.shibboleth.idp.authn.impl.AttributeSourcedSubjectCanonicalizationAction

All Implemented Interfaces:
  `Component`, `DestructableComponent`, `InitializableComponent`, `ProfileAction`, `Aware`, `MessageSource`, `MessageSourceAware`, `Action`

@Deprecated(since="5.2.0", forRemoval=true) public class AttributeSourcedSubjectCanonicalizationAction extends AbstractSubjectCanonicalizationAction
Deprecated, for removal: This API element is subject to removal in a future version.
An action that extracts a resolved `IdPAttribute` value from an `AttributeContext` child obtained via lookup function (by default a child of the `SubjectCanonicalizationContext`), and uses it as the result of subject canonicalization.

This action operates on a set of previously resolved attributes that are presumed to have been generated based in some fashion on the content of the `SubjectCanonicalizationContext`.

String and scoped attribute values are supported.

Event:
  `EventIds.PROCEED_EVENT_ID`, `AuthnEventIds.INVALID_SUBJECT`
Precondition:

      ProfileRequestContext.getSubcontext(SubjectCanonicalizationContext.class) != null

Postcondition:

      SubjectCanonicalizationContext.getPrincipalName() != null
        || SubjectCanonicalizationContext.getException() != null

## Field Summary

Fields
Modifier and Type
Field
Description
`private Function<ProfileRequestContext,AttributeContext>`
`attributeContextLookupStrategy`
Deprecated, for removal: This API element is subject to removal in a future version.
Lookup strategy for `AttributeContext` to read from.
`private AttributeContext`
`attributeCtx`
Deprecated, for removal: This API element is subject to removal in a future version.
The context to read from.
`private List<String>`
`attributeSourceIds`
Deprecated, for removal: This API element is subject to removal in a future version.
Ordered list of attributes to look for and read from.
`private char`
`delimiter`
Deprecated, for removal: This API element is subject to removal in a future version.
Delimiter to use for scoped attribute serialization.
`private final org.slf4j.Logger`
`log`
Deprecated, for removal: This API element is subject to removal in a future version.
Class logger.
`private boolean`
`resolveFromSubject`
Deprecated, for removal: This API element is subject to removal in a future version.
Whether to also check the original Subject for `IdPAttributePrincipal`s.
`private Map<String,IdPAttribute>`
`subjectSourcedAttributes`
Deprecated, for removal: This API element is subject to removal in a future version.
Indexed attributes pulled from subject.

## Constructor Summary

Constructors
Constructor
Description
`AttributeSourcedSubjectCanonicalizationAction()`
Deprecated, for removal: This API element is subject to removal in a future version.
Constructor.

## Method Summary

Modifier and Type
Method
Description
`protected void`
`doExecute(ProfileRequestContext profileRequestContext, SubjectCanonicalizationContext c14nContext)`
Deprecated, for removal: This API element is subject to removal in a future version.
Performs this authentication action.
`protected void`
`doInitialize()`
Deprecated, for removal: This API element is subject to removal in a future version.
`protected boolean`
`doPreExecute(ProfileRequestContext profileRequestContext, SubjectCanonicalizationContext c14nContext)`
Deprecated, for removal: This API element is subject to removal in a future version.
Performs this c14n action's pre-execute step.
`private String`
`findValue(IdPAttribute attribute)`
Deprecated, for removal: This API element is subject to removal in a future version.
Check for a compatible value in the input attribute.
`void`
`setAttributeContextLookupStrategy(Function<ProfileRequestContext,AttributeContext> strategy)`
Deprecated, for removal: This API element is subject to removal in a future version.
Set the lookup strategy for the `AttributeContext` to read from.
`void`
`setAttributeSourceIds(List<String> ids)`
Deprecated, for removal: This API element is subject to removal in a future version.
Set the attribute IDs to read from in order of preference.
`void`
`setResolveFromSubject(boolean flag)`
Deprecated, for removal: This API element is subject to removal in a future version.
Whether to include any `IdPAttributePrincipal` objects found in the input `Subject` when searching for a matching attribute ID.
`void`
`setScopedDelimiter(char ch)`
Deprecated, for removal: This API element is subject to removal in a future version.
Set the delimiter to use for serializing scoped attribute values.

### Methods inherited from class net.shibboleth.idp.authn.AbstractSubjectCanonicalizationAction

`applyTransforms, doExecute, doPreExecute, setLookupStrategy, setLowercase, setTransforms, setTrim, setUppercase`

### Methods inherited from class net.shibboleth.idp.profile.AbstractProfileAction

`doExecute, execute, getBean, getBean, getMessage, getMessage, getMessage, getParameter, getParameter, getProfileContextLookupStrategy, getRequestContext, getResult, setMessageSource, setProfileContextLookupStrategy`

### Methods inherited from class org.opensaml.profile.action.AbstractConditionalProfileAction

`getActivationCondition, setActivationCondition`

### Methods inherited from class org.opensaml.profile.action.AbstractProfileAction

`doPostExecute, doPostExecute, ensureHttpServletRequest, ensureHttpServletResponse, execute, getHttpServletRequest, getHttpServletRequestSupplier, getHttpServletResponse, getHttpServletResponseSupplier, getLogPrefix, isPreExecuteCalled, setHttpServletRequestSupplier, setHttpServletResponseSupplier`

### Methods inherited from class net.shibboleth.shared.component.AbstractInitializableComponent

`checkComponentActive, checkSetterPreconditions, destroy, doDestroy, ifDestroyedThrowDestroyedComponentException, ifInitializedThrowUnmodifiabledComponentException, ifNotInitializedThrowUninitializedComponentException, 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.shared.component.InitializableComponent

`initialize, isInitialized`

## Field Details

### log

@Nonnull private final org.slf4j.Logger log
Deprecated, for removal: This API element is subject to removal in a future version.
Class logger.

### delimiter

private char delimiter
Deprecated, for removal: This API element is subject to removal in a future version.
Delimiter to use for scoped attribute serialization.

### resolveFromSubject

private boolean resolveFromSubject
Deprecated, for removal: This API element is subject to removal in a future version.
Whether to also check the original Subject for `IdPAttributePrincipal`s.

### subjectSourcedAttributes

@Nonnull private Map<String,IdPAttribute> subjectSourcedAttributes
Deprecated, for removal: This API element is subject to removal in a future version.
Indexed attributes pulled from subject.

### attributeSourceIds

@Nonnull private List<String> attributeSourceIds
Deprecated, for removal: This API element is subject to removal in a future version.
Ordered list of attributes to look for and read from.

### attributeContextLookupStrategy

@Nonnull private Function<ProfileRequestContext,AttributeContext> attributeContextLookupStrategy
Deprecated, for removal: This API element is subject to removal in a future version.
Lookup strategy for `AttributeContext` to read from.

### attributeCtx

@Nullable private AttributeContext attributeCtx
Deprecated, for removal: This API element is subject to removal in a future version.
The context to read from.

## Constructor Details

### AttributeSourcedSubjectCanonicalizationAction

public AttributeSourcedSubjectCanonicalizationAction()
Deprecated, for removal: This API element is subject to removal in a future version.
Constructor.

## Method Details

### setScopedDelimiter

public void setScopedDelimiter(char ch)
Deprecated, for removal: This API element is subject to removal in a future version.
Set the delimiter to use for serializing scoped attribute values.

Parameters:
  `ch` - delimiter to use

### setResolveFromSubject

public void setResolveFromSubject(boolean flag)
Deprecated, for removal: This API element is subject to removal in a future version.
Whether to include any `IdPAttributePrincipal` objects found in the input `Subject` when searching for a matching attribute ID.

Parameters:
  `flag` - flag to set
Since:
  4.1.0

### setAttributeSourceIds

public void setAttributeSourceIds(@Nonnull List<String> ids)
Deprecated, for removal: This API element is subject to removal in a future version.
Set the attribute IDs to read from in order of preference.

Parameters:
  `ids` - attribute IDs to read from

### setAttributeContextLookupStrategy

public void setAttributeContextLookupStrategy(@Nonnull Function<ProfileRequestContext,AttributeContext> strategy)
Deprecated, for removal: This API element is subject to removal in a future version.
Set the lookup strategy for the `AttributeContext` to read from.

Parameters:
  `strategy` - lookup strategy

### doInitialize

protected void doInitialize() throws ComponentInitializationException
Deprecated, for removal: This API element is subject to removal in a future version.

Overrides:
  `doInitialize` in class `AbstractInitializableComponent`
Throws:
  `ComponentInitializationException`

### doPreExecute

protected boolean doPreExecute(@Nonnull ProfileRequestContext profileRequestContext, @Nonnull SubjectCanonicalizationContext c14nContext)
Deprecated, for removal: This API element is subject to removal in a future version.
Performs this c14n action's pre-execute step. Default implementation just returns true iff a subject is set.

Overrides:
  `doPreExecute` in class `AbstractSubjectCanonicalizationAction`
Parameters:
  `profileRequestContext` - the current IdP profile request context
  `c14nContext` - the current subject canonicalization context
Returns:
  true iff execution should continue

### doExecute

protected void doExecute(@Nonnull ProfileRequestContext profileRequestContext, @Nonnull SubjectCanonicalizationContext c14nContext)
Deprecated, for removal: This API element is subject to removal in a future version.
Performs this authentication action. Default implementation throws an exception.

Overrides:
  `doExecute` in class `AbstractSubjectCanonicalizationAction`
Parameters:
  `profileRequestContext` - the current IdP profile request context
  `c14nContext` - the current subject canonicalization context

### findValue

@Nullable private String findValue(@Nonnull IdPAttribute attribute)
Deprecated, for removal: This API element is subject to removal in a future version.
Check for a compatible value in the input attribute.

Parameters:
  `attribute` - input attribute
Returns:
  value to use for result, or null