@zestic/oauth-core
Version:
Framework-agnostic OAuth authentication library with support for multiple OAuth flows
55 lines • 1.68 kB
TypeScript
/**
* 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