Class WebAuthnCredential.Builder

java.lang.Object
net.shibboleth.idp.plugin.authn.duo.model.WebAuthnCredential.Builder
Enclosing class:
WebAuthnCredential

public static final class WebAuthnCredential.Builder extends Object
Builder for this class.
  • Field Details

    • credentialName

      private String credentialName
    • dateAdded

      private Integer dateAdded
    • dateLastUsed

      private Integer dateLastUsed
    • label

      private String label
    • webauthnkey

      private String webauthnkey
    • uvCapable

      private Boolean uvCapable
    • passwordlessAuthorized

      private Boolean passwordlessAuthorized
    • backupEligible

      private Boolean backupEligible
    • backupStatus

      private Boolean backupStatus
    • aaguid

      private String aaguid
    • registeredAs

      private String registeredAs
    • transports

      private List<String> transports
    • additionalProperties

      @Nonnull private final Map<String,Object> additionalProperties
  • Constructor Details

    • Builder

      private Builder()
      Constructor.
  • Method Details

    • withCredentialName

      public WebAuthnCredential.Builder withCredentialName(@Nullable String name)
      Build the credential name
      Parameters:
      name - the credential name
      Returns:
      this
    • withDateAdded

      public WebAuthnCredential.Builder withDateAdded(@Nullable Integer date)
      Build the date the WebAuthn credential was last used
      Parameters:
      date - the date added
      Returns:
      this
    • withLabel

      public WebAuthnCredential.Builder withLabel(@Nullable String labelIn)
      Build the type of WebAuthn credential.
      Parameters:
      labelIn - the label
      Returns:
      this
    • withWebauthnkey

      public WebAuthnCredential.Builder withWebauthnkey(@Nullable String key)
      Build the WebAuthn credential's registration identifier.
      Parameters:
      key - the webauthnkey
      Returns:
      this
    • withUvCapable

      public WebAuthnCredential.Builder withUvCapable(@Nullable Boolean flag)
      Build if the WebAuthn authenticator associated with this credential is capable of identifying a user via a suitable authorization gesture.
      Parameters:
      flag - the uv_capable flag
      Returns:
      this
    • withPasswordlessAuthorized

      public WebAuthnCredential.Builder withPasswordlessAuthorized(@Nullable Boolean flag)
      Build if this credential can be used for both MFA and Passwordless authentication.
      Parameters:
      flag - the passwordless_authorized flag
      Returns:
      this
    • withBackupEligible

      public WebAuthnCredential.Builder withBackupEligible(@Nullable Boolean flag)
      Build if this credential can be used from multiple devices.
      Parameters:
      flag - the backup_eligible flag
      Returns:
      this
    • withBackupStatus

      public WebAuthnCredential.Builder withBackupStatus(@Nullable Boolean flag)
      Build if this credential has been backed up and can be used from multiple devices.
      Parameters:
      flag - the backup_status flag
      Returns:
      this
    • withAaguid

      public WebAuthnCredential.Builder withAaguid(@Nullable String guid)
      Build a unique identifier that conveys the authenticator's make and model, or the passkey's provider identity.
      Parameters:
      guid - the aaguid value
      Returns:
      this
    • withRegisteredAs

      public WebAuthnCredential.Builder withRegisteredAs(@Nullable String regAs)
      Build the registration flow that was used to register this WebAuthn credential.
      Parameters:
      regAs - the registered_as value
      Returns:
      this
    • withTransports

      public WebAuthnCredential.Builder withTransports(@Nullable List<String> trans)
      Build the transports the authenticator can use to communicate with a client.
      Parameters:
      trans - the transports
      Returns:
      this
    • withAdditionalProperty

      public WebAuthnCredential.Builder withAdditionalProperty(@Nonnull String name, @Nullable Object value)
      Build any additional property not explicitly listed.
      Parameters:
      name - the property name
      value - the property value
      Returns:
      this
    • build

      public WebAuthnCredential build()
      Returns:
      an initialised, immutable, and safely published WebAuthnCredential instance.