UNPKG

@juspay/neurolink

Version:

The pipe layer of an AI nervous system: one interface connecting provider neurons to your application, across three inference types — generate, stream and decide. `decide` returns typed, calibrated judgements from a non-generative model (~400ms, ~$0.00002

64 lines (63 loc) • 1.86 kB
import { BaseAuthProvider } from "./BaseAuthProvider.js"; import type { AuthProviderConfig, FirebaseConfig, AuthUser, TokenValidationResult, AuthRequestContext, AuthHealthCheck, AuthProviderType } from "../../types/index.js"; /** * Firebase Authentication Provider * * Supports Firebase ID token validation using Google's public keys. * Can validate tokens locally or via Firebase REST API. * * Features: * - JWT validation using Google's public keys * - Token verification via Firebase REST API * - Custom claims extraction for roles/permissions * * @example * ```typescript * const firebase = new FirebaseAuthProvider({ * type: "firebase", * projectId: "your-project-id" * }); * * const result = await firebase.authenticateToken(idToken); * if (result.valid) { * console.log("Authenticated user:", result.user); * } * ``` */ export declare class FirebaseAuthProvider extends BaseAuthProvider { readonly type: AuthProviderType; private projectId; private apiKey?; private serviceAccount?; private jwks; constructor(config: AuthProviderConfig & FirebaseConfig); /** * Initialize JWKS for Firebase token verification */ initialize(): Promise<void>; /** * Validate Firebase ID token */ authenticateToken(token: string, _context?: AuthRequestContext): Promise<TokenValidationResult>; /** * Validate token via Firebase REST API */ private validateViaApi; /** * Convert JWT payload to AuthUser */ private payloadToUser; /** * Convert Firebase user data to AuthUser */ private firebaseUserToAuthUser; /** * Get user by ID via Firebase REST API * Requires API key */ getUser(_userId: string): Promise<AuthUser | null>; /** * Health check */ healthCheck(): Promise<AuthHealthCheck>; }