Skip to content
Migrating from NextAuth.js v4? Read our migration guide.
Auth.js
Authentication for the Web.
Free and open source.
// auth.ts
import NextAuth from "next-auth"
import GitHub from "next-auth/providers/github"
export const { auth, handlers } = NextAuth({ providers: [GitHub] })

// middleware.ts
export { auth as middleware } from "@/auth"

// app/api/auth/[...nextauth]/route.ts
import { handlers } from "@/auth"
export const { GET, POST } = handlers
// src/auth.ts
import { SvelteKitAuth } from "@auth/sveltekit"
import GitHub from '@auth/sveltekit/providers/github'

export const { handle } = SvelteKitAuth({
  providers: [GitHub],
})

// src/hooks.server.ts
export { handle } from "./auth"
// server.ts
import { express } from "express"
import { ExpressAuth } from "@auth/express"
import GitHub from "@auth/express/providers/github"

const app = express()

app.use("/auth/*", ExpressAuth({ providers: [GitHub] }))
// src/routes/plugin@auth.ts
import { QwikAuth } from "@auth/qwik"
import GitHub from "@auth/qwik/providers/github"
export const { onRequest, useSession } = QwikAuth$(() => ({ providers: [GitHub] }))

Supports all these providers and more!

WorkOS logo
FusionAuth logo
United Effects logo
Mailchimp logo
Dropbox logo
Mattermost logo
GitHub logo
Mail.ru logo
Notion logo
IdentityServer4 logo
Battle.net logo
OneLogin logo
Wikimedia logo
Dribbble logo
Slack logo
Auth.js © Balázs Orbán and Team - 2025