Main WebAuthn class for authentication management

Hierarchy

  • EventEmitter
    • Webauthn

Constructors

  • Creates a new WebAuthn instance

    Parameters

    • OptionalgunInstance: IGunInstance<any>
    • Optionalconfig: Partial<WebAuthnConfig>

    Returns Webauthn

Properties

abortController: null | AbortController = null
config: WebAuthnConfig
credential: null | WebAuthnCredentialData
gunInstance?: IGunInstance<any>

Methods

  • Aborts current authentication attempt

    Returns void

  • Authenticates a user with timeout and abort handling

    Parameters

    • username: string
    • salt: null | string
    • options: WebAuthnOperationOptions = {}

    Returns Promise<CredentialResult>

  • Converts ArrayBuffer to URL-safe base64 string

    Parameters

    • buffer: ArrayBuffer

    Returns string

  • Creates a new WebAuthn account with retry logic

    Parameters

    • username: string
    • credentials: null | WebAuthnCredentials
    • isNewDevice: boolean = false

    Returns Promise<CredentialResult>

  • Creates a WebAuthn credential for registration

    Parameters

    • username: string

    Returns Promise<WebAuthnCredentialData>

  • Emits an event with arguments

    Parameters

    • event: EventType
    • Optionaldata: unknown

    Returns boolean

  • Generates a challenge for WebAuthn operations

    Parameters

    • username: string

    Returns Uint8Array

  • Generates WebAuthn credentials

    Parameters

    • username: string
    • OptionalexistingCredential: null | WebAuthnCredentials
    • isLogin: boolean = false

    Returns Promise<CredentialResult>

  • Generates credentials from username and salt

    Parameters

    • username: string
    • salt: string

    Returns { password: string }

  • Gets device information

    Parameters

    • credentialId: string

    Returns DeviceInfo

  • Gets platform information

    Returns { name: string; platform: string }

  • Gets cryptographically secure random bytes

    Parameters

    • length: number

    Returns Uint8Array

  • Checks if WebAuthn is supported

    Returns boolean

  • Removes an event listener

    Parameters

    • event: EventType
    • listener: (data: unknown) => void

    Returns void

  • Registers an event listener

    Parameters

    • event: EventType
    • listener: (data: unknown) => void

    Returns void

  • Registers a one-time event listener

    Parameters

    • event: EventType
    • listener: (data: unknown) => void

    Returns void

  • Removes all listeners for an event or all events

    Parameters

    • Optionalevent: EventType

    Returns void

  • Removes device credentials

    Parameters

    • username: string
    • credentialId: string
    • credentials: WebAuthnCredentials

    Returns Promise<{ success: boolean; updatedCredentials?: WebAuthnCredentials }>

  • Signs data with the credential

    Parameters

    • data: Record<string, unknown>

    Returns Promise<unknown>

  • Converts Uint8Array to hexadecimal string

    Parameters

    • arr: Uint8Array

    Returns string

  • Validates a username

    Parameters

    • username: string

    Returns void

  • Verifies a credential

    Parameters

    • username: string

    Returns Promise<WebAuthnVerificationResult>