Next.js Firebase Authentication for Edge and Node.js runtimes. Use Firebase Authentication with latest Next.js features.
Check out a working demo here: next-firebase-auth-edge-starter.vercel.app
You can find the source code for this demo at examples/next-typescript-starter
New to Firebase or Next.js? No worries! Follow this easy, step-by-step guide to set up Firebase Authentication in Next.js app using the next-firebase-auth-edge library:
https://hackernoon.com/using-firebase-authentication-with-the-latest-nextjs-features
The official documentation is available here: https://next-firebase-auth-edge-docs.vercel.app
The official firebase-admin
library depends heavily on Node.js’s internal crypto
library, which isn’t available in Next.js Edge Runtime.
This library solves that problem by handling the creation and verification of Custom ID Tokens using the Web Crypto API, which works in Edge runtimes.
next-firebase-auth-edge
supports all the latest Next.js features, like the App Router and Server Components.
To make adopting the newest Next.js features easier, this library works seamlessly with both getServerSideProps and legacy API Routes.
next.config.js
. Everything’s handled by middleware.Key updates in this release include:
experimental_enableTokenRefreshOnExpiredKidHeader
option in authMiddleware
and getTokens
, which refreshes user tokens when Google’s public certificates expire (instead of throwing an error)To install, run one of the following:
With npm
npm install next-firebase-auth-edge
With yarn
yarn add next-firebase-auth-edge
With pnpm
pnpm add next-firebase-auth-edge