UNPKG

@corbado/types

Version:

Comprehensive TypeScript type definitions to seamlessly integrate with Corbado. Designed to empower developers with strong typing for enhanced code quality and autocompletion in supported IDEs. Perfect for ensuring type safety and consistency across JavaS

94 lines 4.08 kB
import type { Paging } from './common'; /** * Type representing the different methods a user can use to authenticate. * @typedef {('email' | 'phone_number' | 'webauthn' | 'password')} AuthMethod */ export type AuthMethod = 'email' | 'phone_number' | 'webauthn' | 'password'; /** * Interface representing the authentication methods a user has selected and can possibly use. * @interface UserAuthMethods * @property {Array<AuthMethod>} selectedMethods - An array of methods the user has selected for authentication. * @property {Array<AuthMethod>} possibleMethods - An array of methods the user can possibly use for authentication. */ export interface UserAuthMethods { selectedMethods: Array<AuthMethod>; possibleMethods: Array<AuthMethod>; } /** * Type representing the status of a PassKeyItem. * @typedef {('pending' | 'active')} PassKeyItemStatus */ export type PassKeyItemStatus = 'pending' | 'active'; /** * Represents a pass key item. * @interface PassKeyItem * @property {string} id - The ID of the pass key item. * @property {string} aaguid - The aaguid of the pass key item. * @property {string} userAgent - The user agent of the pass key item. * @property {string} attestationType - The attestation type of the pass key item. * @property {Array<string>} transport - The transport methods of the pass key item. * @property {boolean} backupEligible - Indicates if the pass key item is eligible for backup. * @property {boolean} backupState - The backup state of the pass key item. * @property {PassKeyItemStatus} status - The status of the pass key item. * @property {string} created - The creation date of the pass key item. */ export interface PassKeyItem { id: string; authenticatorAAGUID: string; aaguidDetails: { name: string; iconLight: string; iconDark: string; }; sourceBrowser: string; sourceOS: string; attestationType: string; transport: Array<PasskeyTransportEnum>; backupEligible: boolean; backupState: boolean; status: PassKeyItemStatus; created: string; lastUsed?: string; } export declare const PasskeyTransportEnum: { readonly Usb: "usb"; readonly Nfc: "nfc"; readonly Ble: "ble"; readonly Internal: "internal"; readonly Hybrid: "hybrid"; readonly SmartCard: "smart-card"; }; export type PasskeyTransportEnum = (typeof PasskeyTransportEnum)[keyof typeof PasskeyTransportEnum]; /** * Represents a list of pass key items. * @interface PassKeyList * @property {Array<PassKeyItem>} passkeys - The pass key items in the list. * @property {Paging} paging - The paging information of the list. */ export interface PassKeyList { passkeys: Array<PassKeyItem>; paging?: Paging; } /** * Represents the capabilities of a WebAuthn Client. * @interface ClientCapabilities * @property {boolean} conditionalCreate - Indicates if the WebAuthn Client is capable of conditional mediation for registration ceremonies. * @property {boolean} conditionalMediation - Indicates if the WebAuthn Client is capable of conditional mediation for authentication ceremonies. * @property {boolean} hybridTransport - Indicates if the WebAuthn Client supports usage of the hybrid transport. * @property {boolean} passkeyPlatformAuthenticator - Indicates if the WebAuthn Client supports usage of a passkey platform authenticator, locally and/or via hybrid transport. * @property {boolean} userVerifyingPlatformAuthenticator - Indicates if the WebAuthn Client supports usage of a user-verifying platform authenticator. */ export interface ClientCapabilities { conditionalCreate: boolean; conditionalMediation: boolean; hybridTransport: boolean; passkeyPlatformAuthenticator: boolean; userVerifyingPlatformAuthenticator: boolean; } export declare const PasskeyCeremonyType: { readonly Local: "local"; readonly Cda: "cda"; readonly SecurityKey: "security-key"; }; export type PasskeyCeremonyType = (typeof PasskeyCeremonyType)[keyof typeof PasskeyCeremonyType]; //# sourceMappingURL=authentication.d.ts.map