passkeys-prf-client
Version:
A client npm package for passkeys authentication with PRF functionality
56 lines (55 loc) • 2.34 kB
TypeScript
import { PasskeysAuthResult, PromiseResult, GetUserPasskeyCredentialsResult, DeleteUserPasskeyCredentialResult, PasskeysRegisterResult, PasskeysReAuthResult } from './types';
export declare const ErrorCodes: {
Unknown: string;
HTTP: string;
AbortError: string;
NotAllowedError: string;
FailedCreateCredential: string;
PassKeySignInVerificationFailed: string;
PRFNotSupported: string;
InvalidStateError: string;
};
export declare const ErrorFrom: {
BrowserWebAuthn: string;
Backend: string;
PasswordlessDev: string;
Unknown: string;
};
export declare const prf_salt = "passwordless-login";
export declare class PasskeysAuthError extends Error {
from: string;
errorCode: string;
constructor(from: string, errorCode: string, message: string);
}
export declare class PasswordlessService {
private abortController;
private config;
constructor(publicApiKey: string, backendApiRootUrl: string);
private createHeaders;
isBrowserSupported(): void;
private registerBegin;
private registerComplete;
private arrayBufferToBase64Url;
private base64ToBase64Url;
private register;
private base64UrlToArrayBuffer;
private base64UrlToBase64;
private getErrorMessage;
private toErrorWithMessage;
private isErrorWithMessage;
reAuthWithAlias(alias: string, isPRFSupportRequired?: boolean, authToken?: string, backendData?: unknown): PromiseResult<PasskeysReAuthResult>;
signinWithAlias(alias: string, isPRFSupportRequired?: boolean): PromiseResult<PasskeysAuthResult>;
signinWithAutofill(isPRFSupportRequired?: boolean): PromiseResult<PasskeysAuthResult>;
private isAutofillSupported;
private handleAbort;
private abort;
private signinBegin;
private signinComplete;
private signin;
signup(name: string, email: string, isPRFSupportRequired?: boolean, authtoken?: string, nickname?: string, backendData?: unknown): PromiseResult<PasskeysRegisterResult>;
private verifySignin;
private verifyReAuth;
signupOrSigninAbort(): void;
getUserPasskeyCredentials(authtoken?: string, userId?: string): PromiseResult<GetUserPasskeyCredentialsResult>;
deleteUserPasskeyCredential(credentialId: string, backendData?: unknown, authtoken?: string): PromiseResult<DeleteUserPasskeyCredentialResult>;
}