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

# Class CredentialCreationOptionsParameters

java.lang.Object
net.shibboleth.idp.plugin.authn.webauthn.authn.BaseOptionsParameters
net.shibboleth.idp.plugin.authn.webauthn.admin.CredentialCreationOptionsParameters

@ThreadSafe @Immutable public final class CredentialCreationOptionsParameters extends BaseOptionsParameters
A class to hold the parameters required to build a PublicKeyCredentialRequestOptions.

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static final class`
`CredentialCreationOptionsParameters.Builder`
Builder class.
`static interface`
`CredentialCreationOptionsParameters.IAttestationConveyancePreferenceStage`
Stage interface.
`static interface`
`CredentialCreationOptionsParameters.IBuildStage`
Stage interface.
`static interface`
`CredentialCreationOptionsParameters.IChallengeStage`
Stage interface.
`static interface`
`CredentialCreationOptionsParameters.IDisplayNameStage`
Stage interface.
`static interface`
`CredentialCreationOptionsParameters.IExcludeCredentialsStage`
Stage interface.
`static interface`
`CredentialCreationOptionsParameters.INameStage`
Stage interface.
`static interface`
`CredentialCreationOptionsParameters.IResidentKeyRequirementStage`
Stage interface.
`static interface`
`CredentialCreationOptionsParameters.IUserHandleStage`
Stage interface.
`static interface`
`CredentialCreationOptionsParameters.IUserVerificationRequirementStage`
Stage interface.

## Field Summary

Fields
Modifier and Type
Field
Description
`private final com.yubico.webauthn.data.AttestationConveyancePreference`
`attestationConveyancePreference`
The attestation conveyance preference.
`private final com.yubico.webauthn.data.AuthenticatorAttachment`
`authenticatorAttachment`
The authenticator attachment requirement.
`private final String`
`displayName`
The user.displayName supplied to the authenticator during registration.
`private final boolean`
`enableCredProperties`
Enable the credential properties extensions.
`private final Set<com.yubico.webauthn.data.PublicKeyCredentialDescriptor>`
`excludeCredentials`
Credentials that have already been registered with the IdP.
`private final String`
`name`
The user.name of the user identity.
`private final com.yubico.webauthn.data.ResidentKeyRequirement`
`residentKeyRequirement`
The requirement on registering a ResidentKey.
`private final byte[]`
`userId`
The user.id supplied to the authenticator during registration.

## Constructor Summary

Constructors
Modifier
Constructor
Description
`private`
`CredentialCreationOptionsParameters(CredentialCreationOptionsParameters.Builder builder)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`static CredentialCreationOptionsParameters.IUserVerificationRequirementStage`
`builder()`
Get a new builder.
`final com.yubico.webauthn.data.AttestationConveyancePreference`
`getAttestationConveyancePreference()`
Get the attestation conveyance preference.
`final com.yubico.webauthn.data.AuthenticatorAttachment`
`getAuthenticatorAttachment()`
Get the authenticator attachment requirement.
`final String`
`getDisplayName()`
Get the user.displayName.
`final Set<com.yubico.webauthn.data.PublicKeyCredentialDescriptor>`
`getExcludeCredentials()`
Get the set of credentials that have already been registered with the IdP.
`final String`
`getName()`
Get the WebAuthn user.name.
`final com.yubico.webauthn.data.ResidentKeyRequirement`
`getResidentKeyRequirement()`
Get the resident key requirement.
`final byte[]`
`getUserId()`
Get the user.id.
`final boolean`
`isEnableCredProperties()`
Is the credential properties extension enabled?

### Methods inherited from class net.shibboleth.idp.plugin.authn.webauthn.authn.BaseOptionsParameters

`getChallenge, getUserVerificationRequirement`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### excludeCredentials

@Nonnull @NonnullElements private final Set<com.yubico.webauthn.data.PublicKeyCredentialDescriptor> excludeCredentials
Credentials that have already been registered with the IdP. The authenticator should use these to avoid creating duplicate credentials during registration.

### name

@Nonnull @NotEmpty private final String name
The user.name of the user identity.

### displayName

@Nonnull @NotEmpty private final String displayName
The user.displayName supplied to the authenticator during registration. A human-palatable name for the user account, intended only for display

### authenticatorAttachment

@Nullable private final com.yubico.webauthn.data.AuthenticatorAttachment authenticatorAttachment
The authenticator attachment requirement. `null` would represent either possibility.

### residentKeyRequirement

@Nonnull private final com.yubico.webauthn.data.ResidentKeyRequirement residentKeyRequirement
The requirement on registering a ResidentKey. Also know as a discoverable credential.

### userId

@Nonnull private final byte[] userId
The user.id supplied to the authenticator during registration. As generated by the IdP.

### attestationConveyancePreference

@Nonnull private final com.yubico.webauthn.data.AttestationConveyancePreference attestationConveyancePreference
The attestation conveyance preference.

### enableCredProperties

private final boolean enableCredProperties
Enable the credential properties extensions. For example, to report discoverable credentials i.e. 'passkeys'.

## Constructor Details

### CredentialCreationOptionsParameters

private CredentialCreationOptionsParameters(CredentialCreationOptionsParameters.Builder builder)
Constructor.

Parameters:
  `builder` - the builder to extract parameters from

## Method Details

### getExcludeCredentials

@Nonnull @NonnullElements public final Set<com.yubico.webauthn.data.PublicKeyCredentialDescriptor> getExcludeCredentials()
Get the set of credentials that have already been registered with the IdP.

Returns:
  the excludeCredentials.

### getName

@Nonnull @NotEmpty public final String getName()
Get the WebAuthn user.name.

Returns:
  the name.

### getAuthenticatorAttachment

@Nullable public final com.yubico.webauthn.data.AuthenticatorAttachment getAuthenticatorAttachment()
Get the authenticator attachment requirement.

Returns:
  the authenticatorAttachment.

### getResidentKeyRequirement

@Nonnull public final com.yubico.webauthn.data.ResidentKeyRequirement getResidentKeyRequirement()
Get the resident key requirement.

Returns:
  the residentKeyRequirement.

### getUserId

@Nonnull public final byte[] getUserId()
Get the user.id.

Returns:
  the userHandle

### getDisplayName

@Nonnull public final String getDisplayName()
Get the user.displayName.

Returns:
  the user's display name.

### isEnableCredProperties

public final boolean isEnableCredProperties()
Is the credential properties extension enabled?

Returns:
  is credential properties extension enabled

### getAttestationConveyancePreference

public final com.yubico.webauthn.data.AttestationConveyancePreference getAttestationConveyancePreference()
Get the attestation conveyance preference.

Returns:
  the attestation conveyance preference.

### builder

public static CredentialCreationOptionsParameters.IUserVerificationRequirementStage builder()
Get a new builder.

Returns:
  the builder