@narangcia-oss/cryptic-auth-client-plain-ts
Version:
A TypeScript client for interacting with a cryptic-auth host web server, crafted by Narangcia OSS.
35 lines (34 loc) • 1.56 kB
TypeScript
import { type AxiosInstance } from "axios";
import type { UserCredentials, SignupResponse, LoginResponse, TokenValidationResponse, OAuthSignupResponse, OAuthCallbackParams, AuthConfig } from "../types/index";
import { extractTokens, isTokenExpired } from "../utils/tokens";
/**
* Core authentication client for handling all auth flows
* Handles login, signup, OAuth, token refresh, and validation
*/
export declare class AuthClient {
private api;
private accessToken;
private refreshToken;
private isRefreshing;
private failedQueue;
private config;
constructor(config: AuthConfig);
private setupInterceptors;
private processQueue;
setTokens(accessToken: string, refreshToken?: string): void;
clearTokens(): void;
getAccessToken(): string | null;
getRefreshToken(): string | null;
isAuthenticated(): boolean;
login(credentials: UserCredentials): Promise<LoginResponse>;
signup(credentials: UserCredentials): Promise<SignupResponse>;
private refreshTokenFlow;
validateToken(token: string): Promise<TokenValidationResponse>;
healthCheck(): Promise<unknown>;
generateOAuthAuthUrl(provider: string, state: string, scopes: string[]): Promise<string>;
oauthLoginCallback(provider: string, params: OAuthCallbackParams): Promise<LoginResponse>;
oauthSignupCallback(provider: string, params: OAuthCallbackParams): Promise<OAuthSignupResponse>;
getAxiosInstance(): AxiosInstance;
static extractTokens: typeof extractTokens;
static isTokenExpired: typeof isTokenExpired;
}