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 integrations page for all supported packages. We are working on supporting more frameworks, but you can create 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.
Authentication methods
There are 4 ways to authenticate users with Auth.js:
- OAuth authentication (Sign in with Google, GitHub, LinkedIn, etc…)
- Magic Links (Email Provider like Forward Email, Resend, Sendgrid, Nodemailer etc…)
- Credentials (Username and Password, Integrating with external APIs, etc…)
- WebAuthn (Passkeys, etc…)
Official Providers
Supported Databases
Optionally, Auth.js can be integrated with an external database via Database adapters, in case you need or want to store user data.