UNPKG

@zestic/oauth-core

Version:

Framework-agnostic OAuth authentication library with support for multiple OAuth flows

53 lines 1.49 kB
/** * CSRF state validation for OAuth flows */ import { StorageAdapter } from '../types/OAuthTypes'; export declare class StateValidator { private storageAdapter; private stateTTL; private static readonly STATE_STORAGE_KEY; private static readonly STATE_EXPIRY_KEY; private static readonly DEFAULT_STATE_TTL; constructor(storageAdapter: StorageAdapter, stateTTL?: number); /** * Store state with expiry time */ storeState(state: string): Promise<void>; /** * Retrieve stored state */ getStoredState(): Promise<string | null>; /** * Check if stored state is expired */ isStateExpired(): Promise<boolean>; /** * Validate received state against stored state */ validateState(receivedState: string): Promise<boolean>; /** * Validate state and throw error if invalid */ validateStateOrThrow(receivedState: string): Promise<void>; /** * Clear stored state */ clearState(): Promise<void>; /** * Check if state exists in storage */ hasStoredState(): Promise<boolean>; /** * Get remaining TTL for stored state */ getStateRemainingTTL(): Promise<number>; /** * Extend state expiry time */ extendStateExpiry(additionalTime?: number): Promise<void>; /** * Cleanup expired state (can be called periodically) */ cleanupExpiredState(): Promise<void>; } //# sourceMappingURL=StateValidator.d.ts.map