Skip to content

Next.js Firebase Authentication for Edge and Node.js runtimes. Compatible with latest Next.js features.

License

Notifications You must be signed in to change notification settings

awinogrodzki/next-firebase-auth-edge

Repository files navigation

next-firebase-auth-edge

Next.js Firebase Authentication for Edge and Node.js runtimes. Use Firebase Authentication with latest Next.js features.

npm version

Example

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

Guide

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

Docs

The official documentation is available here: https://next-firebase-auth-edge-docs.vercel.app

Why?

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.

Features

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.

Key Features:

  • Supports Next.js's latest features
  • Zero bundle size
  • Minimal setup: Unlike other libraries, you won’t need to create your own API routes or modify your next.config.js. Everything’s handled by middleware.
  • Secure: Uses jose for JWT validation, and signs user cookies with rotating keys to prevent cryptanalysis attacks.

What's New in v1.7

Key updates in this release include:

  • Support for Node.js 22
  • Support for Next.js 15 RC
  • Support for React 19
  • New experimental_enableTokenRefreshOnExpiredKidHeader option in authMiddleware and getTokens, which refreshes user tokens when Google’s public certificates expire (instead of throwing an error).
  • New authorizationHeaderName option in authMiddleware, letting you customize the authorization header for login endpoints.
  • New redirectToPath helper function, allowing you to easily redirect users from within Middleware.
  • Updated redirectToLogin helper function, now accepts RegExp for publicPaths.

For more details, check out the 1.7.x canary release.

Installation

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