Skip to content
Migrating from NextAuth.js v4? Read our migration guide.
Auth.js
Authentication for the Web.
Free and open source.
Looking for a hosted alternative?

Use Clerk

Sponsored
// 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!

Authentik logo
Google logo
Keycloak logo
Mattermost logo
Auth0 logo
FACEIT logo
Facebook logo
Reddit logo
Naver logo
Box logo
Twitter logo
Osso logo
Mastodon logo
WorkOS logo
Kakao logo
Auth.js © Balázs Orbán and Team - 2025