diff --git a/README.md b/README.md index 0455e62..dfe31ba 100644 --- a/README.md +++ b/README.md @@ -1,88 +1 @@ -

-
-      -

MongoDB Adapter - NextAuth.js

-

- Open Source. Full Stack. Own Your Data. -

-

- CI Test - Bundle Size - @next-auth/mongodb-adapter Version -

-

- -## Overview - -This is the MongoDB Adapter for [`auth.js`](https://authjs.dev). This package can only be used in conjunction with the primary `auth.js` package. It is not a standalone package. - -## Getting Started - -1. Install `mongodb`, `next-auth` and `@next-auth/mongodb-adapter` - -```js -npm install mongodb next-auth @next-auth/mongodb-adapter@next -``` - -2. Add `lib/mongodb.js` - -```js -// This approach is taken from https://github.com/vercel/next.js/tree/canary/examples/with-mongodb -import { MongoClient } from "mongodb" - -const uri = process.env.MONGODB_URI -const options = { - useUnifiedTopology: true, - useNewUrlParser: true, -} - -let client -let clientPromise - -if (!process.env.MONGODB_URI) { - throw new Error("Please add your Mongo URI to .env.local") -} - -if (process.env.NODE_ENV === "development") { - // In development mode, use a global variable so that the value - // is preserved across module reloads caused by HMR (Hot Module Replacement). - if (!global._mongoClientPromise) { - client = new MongoClient(uri, options) - global._mongoClientPromise = client.connect() - } - clientPromise = global._mongoClientPromise -} else { - // In production mode, it's best to not use a global variable. - client = new MongoClient(uri, options) - clientPromise = client.connect() -} - -// Export a module-scoped MongoClient promise. By doing this in a -// separate module, the client can be shared across functions. -export default clientPromise -``` - -3. Add this adapter to your `pages/api/[...nextauth].js` next-auth configuration object. - -```js -import NextAuth from "next-auth" -import { MongoDBAdapter } from "@next-auth/mongodb-adapter" -import clientPromise from "lib/mongodb" - -// For more information on each option (and a full list of options) go to -// https://authjs.dev/reference/configuration/auth-options -export default NextAuth({ - adapter: MongoDBAdapter(clientPromise, { - databaseName: 'my-data-base-name' - }), - ... -}) -``` - -## Contributing - -We're open to all community contributions! If you'd like to contribute in any way, please read our [Contributing Guide](https://github.com/nextauthjs/.github/blob/main/CONTRIBUTING.md). - -## License - -ISC +A modified version of @next-auth/mongodb-adapter that uses Realm \ No newline at end of file