🔐 Nuxt user authentication and sessions via authjs (next-auth), local and refresh providers. nuxt-auth wraps NextAuth.js to offer the reliability & convenience of a 12k star library to the nuxt 3 ecosystem with a native developer experience (DX)

nuxt-authis a feature-packed, open-source authentication module for Nuxt 3 applications.
Starting with v0.6nuxt-authalso supports static Nuxt applications
npx nuxi@latest module add sidebase-auth
Then visit the Quick Start documentation to setup the module for <= v0.5 - the current stable version.
Visit the Quick Start documentation to setup the module for >= v0.6 - the “future” experimental version with support for static Nuxt 3 apps and the local provider.
nuxt-auth is a library with the goal of supporting authentication for any universal Nuxt 3 application. At the moment two providers are supported:
local for static pages that rely on an external backend with a credential flow for authentication. local is supported starting with v0.6 of the moduleFeatures of the authjs-provider of nuxt-auth include:
useAuth supports:
getSession, getCsrfToken, getProviders, signIn, signOutstatus, data, lastRefreshedAtGET /signin,POST /signin/:provider,GET/POST /callback/:provider,GET /signout,POST /signout,GET /session,GET /csrf,GET /providersYou can find a feature-table of all starting with v0.6 in the nuxt-auth “next”-version-docs.
Visit the nuxt-auth demo page here:

You can find the demo source-code here.
This project uses pnpm for development.
pnpm dev:prepare to generate type stubs.pnpm dev to start the module playground in development mode.pnpm lint to run eslintpnpm typecheck to run typescheck via tscpnpm publish --access public to publish (bump version before)This module also has it’s own playground:
> git clone https://github.com/sidebase/nuxt-auth
> cd nuxt-auth
# **OPEN THE `~/playground/server/api/auth/[...].ts` and configure your own auth-provider
> pnpm i
> pnpm dev:prepare
> pnpm dev
# -> open http://localhost:3000
We have one playground per provider:
undefinedHow to test static Nuxt 3 apps?undefined
To test static Nuxt 3 apps we want to run a static frontend and a separate backend that will take over authentication:
playground-local/nuxt.config.ts: Add baseURL: 'http://localhost:3001' to the auth-configcd playground-local
pnpm generate
pnpm start
cd playground-local
pnpm dev
# A seconds Nuxt app should now be running on http://localhost:3001. We use this purely for authentication
3001