Skip to content

Latest commit

 

History

History
32 lines (26 loc) · 1.18 KB

pages-router-api-routes.mdx

File metadata and controls

32 lines (26 loc) · 1.18 KB

Pages Router API Routes

To allow gradual adoption of latest Next.js features, next-firebase-auth-edge provides getApiRequestTokens function designed to work with getServerSideProps and API Routes

getApiRequestTokens function works the same as getTokens, but allows to extract cookie information from req object.

import { NextApiRequest, NextApiResponse } from "next";
import { getApiRequestTokens } from "next-firebase-auth-edge";

export default async function handler(
  req: NextApiRequest,
  res: NextApiResponse
) {
  const tokens = await getApiRequestTokens(req, {
    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');
  }

  return res.status(200).json({ tokens });
}