@joinmeow/cognito-passwordless-auth
Version:
Passwordless authentication with Amazon Cognito: FIDO2 (WebAuthn, support for Passkeys)
40 lines (39 loc) • 1.49 kB
TypeScript
import { TokensFromRefresh } from "./model.js";
declare function scheduleRefreshUnlocked({ abort, tokensCb, isRefreshingCb, }?: {
abort?: AbortSignal;
tokensCb?: (res: TokensFromRefresh | null) => void | Promise<void>;
isRefreshingCb?: (isRefreshing: boolean) => unknown;
}): Promise<void>;
export declare function scheduleRefresh(args?: Parameters<typeof scheduleRefreshUnlocked>[0]): Promise<void>;
/**
* Token types and interfaces
*/
type TokenPayload = {
refreshToken?: string;
accessToken?: string;
username?: string;
deviceKey?: string;
expireAt?: Date;
authMethod?: "SRP" | "FIDO2" | "PLAINTEXT" | "REDIRECT";
};
/**
* Refresh tokens using the refresh token
*/
export declare function refreshTokens({ abort, tokensCb, isRefreshingCb, tokens, force, }?: {
abort?: AbortSignal;
tokensCb?: (res: TokensFromRefresh) => void | Promise<void>;
isRefreshingCb?: (isRefreshing: boolean) => unknown;
tokens?: TokenPayload;
force?: boolean;
}): Promise<TokensFromRefresh>;
/**
* Force an immediate token refresh
*/
export declare function forceRefreshTokens(args?: Omit<Parameters<typeof refreshTokens>[0], "force">): Promise<TokensFromRefresh>;
/**
* Clean up all refresh-related timers and event listeners.
* Call this when unmounting the application or switching users.
* @param username - Optional username to clean up specific user state
*/
export declare function cleanupRefreshSystem(username?: string): void;
export {};