UNPKG

@zestic/oauth-core

Version:

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

52 lines 1.6 kB
/** * Magic Link Service * Handles sending magic links via email with OAuth integration */ import type { SendMagicLinkInput, MagicLinkResponse, ExtendedOAuthAdapters, MagicLinkConfig, MagicLinkToken, ServiceResult } from '../types/ServiceTypes'; export declare class MagicLinkService { private adapters; private config; private stateValidator; constructor(adapters: ExtendedOAuthAdapters, config: MagicLinkConfig); /** * Send a magic link to the specified email address */ sendMagicLink(input: SendMagicLinkInput): Promise<MagicLinkResponse>; /** * Validate magic link input parameters */ private validateMagicLinkInput; /** * Generate a magic link token */ private generateMagicLinkToken; /** * Generate a secure random token */ private generateSecureToken; /** * Store magic link token with expiration */ private storeMagicLinkToken; /** * Store PKCE challenge for later use in OAuth flow */ private storePKCEChallenge; /** * Build the magic link URL */ private buildMagicLinkUrl; /** * Simple email validation - ReDoS safe implementation */ private isValidEmail; /** * Validate and retrieve magic link token */ validateMagicLinkToken(token: string): Promise<ServiceResult<MagicLinkToken>>; } /** * Factory function to create magic link service */ export declare function createMagicLinkService(adapters: ExtendedOAuthAdapters, config: MagicLinkConfig): MagicLinkService; //# sourceMappingURL=MagicLinkService.d.ts.map