UNPKG

@pedwise/next-firebase-auth-edge

Version:

Next.js 13 Firebase Authentication for Edge and server runtimes. Dedicated for Next 13 server components. Compatible with Next.js middleware.

27 lines (26 loc) 1.6 kB
import { DecodedIdToken } from "./token-verifier"; import { FirebaseAuthError } from "./error"; import { ServiceAccount } from "./credential"; import { UserRecord } from "./user-record"; export declare function customTokenToIdAndRefreshTokens(customToken: string, firebaseApiKey: string): Promise<IdAndRefreshTokens>; export declare function isUserNotFoundError(error: unknown): error is FirebaseAuthError; export declare function isInvalidCredentialError(error: unknown): error is FirebaseAuthError; export declare function handleExpiredToken<T>(verifyIdToken: () => Promise<T>, onExpired: (e: FirebaseAuthError) => Promise<T>, onError: (e: unknown) => Promise<T>): Promise<T>; export interface IdAndRefreshTokens { idToken: string; refreshToken: string; } export interface Tokens { decodedToken: DecodedIdToken; token: string; } export declare function getFirebaseAuth(serviceAccount: ServiceAccount, apiKey: string): { verifyAndRefreshExpiredIdToken: (token: string, refreshToken: string) => Promise<Tokens | null>; verifyIdToken: (idToken: string, checkRevoked?: boolean) => Promise<DecodedIdToken>; createCustomToken: (uid: string, developerClaims?: object) => Promise<string>; getCustomIdAndRefreshTokens: (idToken: string, firebaseApiKey: string) => Promise<IdAndRefreshTokens>; handleTokenRefresh: (refreshToken: string, firebaseApiKey: string) => Promise<Tokens>; deleteUser: (uid: string) => Promise<void>; setCustomUserClaims: (uid: string, customUserClaims: object | null) => Promise<void>; getUser: (uid: string) => Promise<UserRecord>; };