Skip to content
Docs
Usage guide
App Router API Route Handlers

App Router API Route Handlers

Example usage of getTokens function in API Route Handlers (opens in a new tab)

import { NextRequest, NextResponse } from "next/server";
import { getTokens } from "next-firebase-auth-edge";
import { cookies } from "next/headers";
 
export async function GET(_request: NextRequest) {
  const tokens = await getTokens(cookies(), {
    apiKey: 'XXxxXxXXXxXxxxxx_XxxxXxxxxxXxxxXXXxxXxX',
    cookieName: 'AuthToken',
    cookieSignatureKeys: ['secret1', 'secret2'],
    serviceAccount: {
      projectId: 'your-firebase-project-id',
      clientEmail: 'firebase-adminsdk-nnw48@your-firebase-project-id.iam.gserviceaccount.com',
      privateKey: '-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n'
    }
  });
 
  if (!tokens) {
    throw new Error("Unauthenticated");
  }
 
  const headers: Record<string, string> = {
    "Content-Type": "application/json",
  };
 
  const response = new NextResponse(
    JSON.stringify({
      tokens,
    }),
    {
      status: 200,
      headers,
    }
  );
 
  return response;
}