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;
}