UNPKG

@brendon1555/authjs-mongoose-adapter

Version:
93 lines (72 loc) 3.08 kB
<p align="center"> <br/> <a href="https://authjs.dev" target="_blank"> <img height="64px" src="https://authjs.dev/img/logo-sm.png" /> </a> <a href="https://mongoosejs.com/" target="_blank"> <img height="64px" src="https://raw.githubusercontent.com/Automattic/mongoose/master/docs/images/mongoose.svg"/> </a> <h3 align="center"><b>Mongoose Adapter</b> - NextAuth.js / Auth.js</a></h3> <p align="center"> <a href="https://npm.im/@brendon1555/authjs-mongoose-adapter" target="_blank"> <img src="https://img.shields.io/badge/TypeScript-blue?style=flat-square" alt="TypeScript" /> </a> <a href="https://npm.im/@brendon1555/authjs-mongoose-adapter" target="_blank"> <img alt="npm" src="https://img.shields.io/npm/v/@brendon1555/authjs-mongoose-adapter?color=green&label=@brendon1555/authjs-mongoose-adapter&style=flat-square"> </a> <a href="https://www.npmtrends.com/@brendon1555/authjs-mongoose-adapter" target="_blank"> <img src="https://img.shields.io/npm/dm/@brendon1555/authjs-mongoose-adapter?label=%20downloads&style=flat-square" alt="Downloads" /> </a> <a href="https://github.com/brendon1555/authjs-mongoose-adapter/stargazers" target="_blank"> <img src="https://img.shields.io/github/stars/brendon1555/authjs-mongoose-adapter?style=flat-square" alt="GitHub Stars" /> </a> </p> </p> --- > [!WARNING] > > This adapter cannot support Next.js middleware with `next-auth` until Mongoose supports the Next.js Edge Runtime. _Or_, Next.js adds Node.js `net` API support to middlewares. You _CAN_ still generally use it with Next.js however. > See: [Mongoose docs](https://mongoosejs.com/docs/nextjs.html#:~:text=Mongoose%20does%20not%20currently%20support%20Next.js%20Edge%20Runtime.) ## Getting Started 1. Install Auth.js (`@auth/express`, `@auth/sveltekit`, `next-auth`, etc.), `mongoose` and `@brendon1555/authjs-mongoose-adapter`: ```bash npm install @brendon1555/authjs-mongoose-adapter mongoose @auth/express ``` 2. Add a MongoDB connection string to your environment variables: ```env MONGODB_URI=mongodb://localhost:27017/my-database ``` 3. Add this adapter to your auth config: 1. Express ```js import { ExpressAuth } from "@auth/express"; import { MongooseAdapter } from "@brendon1555/authjs-mongoose-adapter"; const app = express(); app.use( "/auth/*", ExpressAuth({ adapter: MongooseAdapter(process.env.MONGODB_URI), ... }) ); ``` 2. SvelteKit ```js import { SvelteKitAuth } from "@auth/sveltekit"; import { MongooseAdapter } from "@brendon1555/authjs-mongoose-adapter" export const { handle, signIn, signOut } = SvelteKitAuth({ adapter: MongoDBAdapter(process.env.MONGODB_URI), ... }); ``` 3. Next.js (Middleware not supported yet) ```js import NextAuth from "next-auth" import { MongooseAdapter } from "@brendon1555/authjs-mongoose-adapter" export default NextAuth({ adapter: MongooseAdapter(process.env.MONGODB_URI), ... }) ``` ## License ISC