UNPKG

@juspay/neurolink

Version:

Universal AI Development Platform with working MCP integration, multi-provider support, voice (TTS/STT/realtime), and professional CLI. 58+ external MCP servers discoverable, multimodal file processing, RAG pipelines. Build, test, and deploy AI applicatio

66 lines (65 loc) 1.9 kB
import { BaseAuthProvider } from "./BaseAuthProvider.js"; import type { AuthProviderConfig, ClerkConfig, AuthUser, TokenValidationResult, AuthRequestContext, AuthHealthCheck, AuthProviderType } from "../../types/index.js"; /** * Clerk Authentication Provider * * Supports Clerk's session-based and JWT authentication. * Can validate both JWT tokens and session tokens via Clerk API. * * Features: * - JWT validation using Clerk's JWKS * - Session token validation via Clerk API * - User profile fetching * - Organization support for multi-tenant apps * * @example * ```typescript * const clerk = new ClerkProvider({ * type: "clerk", * publishableKey: "pk_test_...", * secretKey: "sk_test_..." * }); * * const result = await clerk.authenticateToken(sessionToken); * if (result.valid) { * console.log("Authenticated user:", result.user); * } * ``` */ export declare class ClerkProvider extends BaseAuthProvider { readonly type: AuthProviderType; private secretKey; private jwtKey?; private publishableKey?; private jwks; private localKey; constructor(config: AuthProviderConfig & ClerkConfig); /** * Initialize Clerk JWKS */ initialize(): Promise<void>; /** * Validate Clerk session token or JWT */ authenticateToken(token: string, _context?: AuthRequestContext): Promise<TokenValidationResult>; /** * Validate JWT using local jwtKey (if configured) or JWKS */ private validateJWT; /** * Validate session token via Clerk API */ private validateSessionToken; /** * Get user by ID from Clerk API */ getUser(userId: string): Promise<AuthUser | null>; /** * Get user by email from Clerk API */ getUserByEmail(email: string): Promise<AuthUser | null>; /** * Health check */ healthCheck(): Promise<AuthHealthCheck>; }