UNPKG

@zestic/oauth-core

Version:

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

55 lines 1.68 kB
/** * Token exchange and management */ import { HttpAdapter, TokenResponse, OAuthResult, OAuthConfig, StorageAdapter } from '../types/OAuthTypes'; export declare class TokenManager { private httpAdapter; private storageAdapter; private static readonly STORAGE_KEYS; constructor(httpAdapter: HttpAdapter, storageAdapter: StorageAdapter); /** * Exchange authorization code for tokens */ exchangeAuthorizationCode(code: string, codeVerifier: string, config: OAuthConfig): Promise<OAuthResult>; /** * Exchange magic link token for OAuth tokens */ exchangeMagicLinkToken(token: string, config: OAuthConfig, additionalParams?: Record<string, string>): Promise<OAuthResult>; /** * Refresh access token using refresh token */ refreshToken(refreshToken: string, config: OAuthConfig): Promise<OAuthResult>; /** * Perform the actual token exchange HTTP request */ private performTokenExchange; /** * Build the request body for token exchange */ private buildTokenRequestBody; /** * Store tokens in storage */ storeTokens(tokenResponse: TokenResponse): Promise<void>; /** * Get stored access token */ getAccessToken(): Promise<string | null>; /** * Get stored refresh token */ getRefreshToken(): Promise<string | null>; /** * Check if access token is expired */ isTokenExpired(): Promise<boolean>; /** * Clear all stored tokens */ clearTokens(): Promise<void>; /** * Revoke tokens */ revokeTokens(config: OAuthConfig): Promise<void>; } //# sourceMappingURL=TokenManager.d.ts.map