What is Auth.js?
Auth.js is a runtime agnostic library based on standard Web APIs that integrates deeply with multiple modern JavaScript frameworks to provide an authentication experience that’s simple to get started with, easy to extend, and always private and secure!
This documentation covers next-auth@5.0.0-beta
and later and all other frameworks under the @auth/*
namespace. Documentation for next-auth@4.x.y
can still be found at next-auth.js.org.
Select your framework of choice to get started, or view the example application deployment or repository with the buttons below.
Check the supported integrations bellow for all supported packages. We are working on supporting more frameworks, but you can create your own or help us create one for your favorite framework.
To reduce migration overhead, NextAuth.js for Next.js will continue to be
released under the next-auth
package name, instead of the @auth/*
convention. Auth.js was born out of next-auth
but over the years has
evolved to be framework agnostic.
Confused about Auth.js and NextAuth.js? Have a look at our history.
Integrations
Here are the state of planned and released integrations under the @auth/*
and @next-auth/*
scope, as well as next-auth
. It also includes community created and maintained integrations. Integrations listed as “Planned” are something we’d love help with! See the help needed section below.
Is your framework not supported? You can easily contribute by creating a framework integration by following this guide.
Note that because of preventing breaking changes on package imports,
next-auth
is the only framework package which is not named following the
@auth/*
convention. This library initially was born as next-auth
but over
the years has evolved to be framework agnostic.
Framework and database integrations are all based on the Auth.js Core library. In most cases, you will not interact with this package directly, as it is intended for library authors.
Frameworks | Status |
---|---|
NextAuth.js (next-auth ) | v5 (beta), v4 (maintenance mode) |
Astro Auth (@auth/astro ) | Open PR |
Express Auth (@auth/express ) | Experimental Release |
Fastify Auth (@auth/fastify ) | Open PR |
Nuxt Auth (@auth/nuxt ) | Open PR |
Qwik Auth (@auth/qwik ) | Released |
Remix Auth (@auth/remix ) | Open PR |
SolidStart Auth (@auth/solid-start ) | Experimental Release |
SvelteKit Auth (@auth/sveltekit ) | Experimental Release |
Databases | Status |
---|---|
@auth/*-adapter | Released. Fully compatible with next-auth and all @auth/* libraries |
@next-auth/*-adapter | Maintenance has stopped. Update to @auth/*-adapter |
Community Integrations
The community has published some great integrations / client packages for various frameworks and libraries. We’d love to make some packages official in the future, if you’re responsible for any of them and are interested in collaborating, please do not hesitate to reach out!
Client | Links |
---|---|
Hono.js | Auth.js middleware |
Rakkas | Auth.js Integration Example |
SolidStart | @solid-mediakit/auth |
Astro | auth-astro |
Nuxt | @sidebase/nuxt-auth |
Help needed
In case you are a maintainer of a package that uses @auth/core
, feel free to reach out to
Balázs or info@authjs.dev, if you want to collaborate on making it an official package, maintained in our repository. If you are interested in bringing @auth/core
support to your favorite framework, we would love to hear from you!