Package net.shibboleth.idp.plugin.authn.webauthn.admin.impl

# Class PopulateWebAuthnManagementContext

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.plugin.authn.webauthn.admin.impl.PopulateWebAuthnManagementContext

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

public class PopulateWebAuthnManagementContext extends AbstractProfileAction
An action to create (or lookup) the `WebAuthnManagementContext` and set the admin principal name from the lookup strategy.

Event:
  `EventIds.PROCEED_EVENT_ID`, `EventIds.INVALID_PROFILE_CTX`
Postcondition:
  a `WebAuthnManagementContext` is created and the principalName is set.

## Field Summary

Fields
Modifier and Type
Field
Description
`private final org.slf4j.Logger`
`log`
Class logger.
`private Function<ProfileRequestContext,String>`
`principalNameLookupStrategy`
Lookup strategy to determine the username to extract and register WebAuthn credentials for.
`private Function<ProfileRequestContext,WebAuthnManagementContext>`
`webAuthnManagementContextCreationStrategy`
Strategy used to locate or create the `WebAuthnManagementContext` to populate.

## Constructor Summary

Constructors
Constructor
Description
`PopulateWebAuthnManagementContext()`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`protected void`
`doExecute(ProfileRequestContext profileRequestContext)`
`void`
`setPrincipalNameLookupStrategy(Function<ProfileRequestContext,String> strategy)`
Set the lookup strategy to use to determine the admin principal.
`void`
`setWebAuthnManagementContextCreationStrategy(Function<ProfileRequestContext,WebAuthnManagementContext> strategy)`
Set the strategy used to lookup or create the WebAuthn managment context.

### 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

`doPreExecute, 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, doInitialize, 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
Class logger.

### webAuthnManagementContextCreationStrategy

@Nonnull private Function<ProfileRequestContext,WebAuthnManagementContext> webAuthnManagementContextCreationStrategy
Strategy used to locate or create the `WebAuthnManagementContext` to populate.

### principalNameLookupStrategy

@Nonnull private Function<ProfileRequestContext,String> principalNameLookupStrategy
Lookup strategy to determine the username to extract and register WebAuthn credentials for.

## Constructor Details

### PopulateWebAuthnManagementContext

public PopulateWebAuthnManagementContext()
Constructor.

## Method Details

### setWebAuthnManagementContextCreationStrategy

public void setWebAuthnManagementContextCreationStrategy(@Nonnull Function<ProfileRequestContext,WebAuthnManagementContext> strategy)
Set the strategy used to lookup or create the WebAuthn managment context.

Parameters:
  `strategy` - The strategy to set.

### setPrincipalNameLookupStrategy

public void setPrincipalNameLookupStrategy(@Nonnull Function<ProfileRequestContext,String> strategy)
Set the lookup strategy to use to determine the admin principal.

Parameters:
  `strategy` - lookup strategy

### doExecute

protected void doExecute(@Nonnull ProfileRequestContext profileRequestContext)

Overrides:
  `doExecute` in class `AbstractProfileAction`