Adapter Repository for NextAuth.js
NextAuth.js is a complete open source authentication solution for Next.js applications.
It is designed from the ground up to support Next.js and Serverless environments.
This repository is a lerna mono-repo which is home to multiple next-auth adapters maintained by the community to support any database.
Currently, these are experimental adapters and we would appreciate feedback on them!
The two adapters with the "legacy" suffix are the adapters that currently ship with the core next-auth
package. In the future, we will be doing the following two things though:
- Removing them from the core package in the short-term
- Replacing them with their more up-to-date versions in the medium-term.
Of course, we will announce and document any such changes thoroughly before taking any action. This changes are tenatively slated for v4.0.0
.
Adapter | Version | Docs | NPM |
---|---|---|---|
typeorm-legacy | adapters/typeorm | @next-auth/typeorm-legacy-adapter | |
prisma | adapters/prisma | @next-auth/prisma-adapter | |
prisma-legacy | adapters/prisma-legacy | @next-auth/prisma-legacy-adapter | |
fauna | adapters/fauna | @next-auth/fauna-adapter | |
dynamodb | adapters/dynamodb | @next-auth/dynamodb-adapter | |
firebase | adapters/firebase | @next-auth/firebase-adapter | |
pouchdb | adapters/pouchdb | @next-auth/pouchdb-adapter |
If you already have an adapter you would like to add, please create a Pull Request and we will work with you to get it officially supported!
If you would like to also take on the maintenance of the adapter, let us know, and we would be happy to add you as a maintainer to the repository.
We have an official TypeScript Adapter
Interface, which should make complying with the existing adapter structure and the common tests, etc. much easier.
We have developed a basic set of tests that apply to all adapters, i.e. to which all adapters should conform and pass. The code can be found in basic-tests.ts
, and specific implementations of which can be found in the /tests
subdirectory of each currently available adapter.
All adapter tests should also run against a local instance of the particular database / ORM being tested. For example, for TypeORM we spin up MySQL and PostgreSQL instances via docker, seed them, and execute the test suite separately against both backends.
ISC