@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
64 lines (63 loc) • 1.86 kB
TypeScript
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>;
}