跳至内容
从 NextAuth.js v4 迁移?阅读 我们的迁移指南.

PouchDB 适配器

资源

安装

安装

npm install pouchdb pouchdb-find @auth/pouchdb-adapter

配置

./auth.ts
import NextAuth from "next-auth"
import { PouchDBAdapter } from "@auth/pouchdb-adapter"
import PouchDB from "pouchdb"
 
// Setup your PouchDB instance and database
PouchDB.plugin(require("pouchdb-adapter-leveldb")) // Or any other adapter
  .plugin(require("pouchdb-find")) // Don't forget the `pouchdb-find` plugin
 
const pouchdb = new PouchDB("auth_db", { adapter: "leveldb" })
 
export const { handlers, auth, signIn, signOut } = NextAuth({
  providers: [],
  adapter: PouchDBAdapter(pouchdb),
})
💡

根据您的架构,您可以使用 PouchDB 的 http 适配器访问任何符合 CouchDB 协议的数据库(CouchDB、Cloudant 等),或者使用任何其他兼容 PouchDB 的适配器(leveldb、内存中、等)

您的 PouchDB 实例必须提供 pouchdb-find 插件,因为适配器在内部使用它来构建和管理索引

高级用法

内存优先缓存策略

如果您需要提高身份验证层性能,您可以使用 PouchDB 的强大同步功能和各种适配器,构建内存优先缓存策略。

使用内存中的 PouchDB 作为您的主要身份验证数据库,并将其与任何其他持久化的 PouchDB 同步。您可以在启动时从持久化的 PouchDB 到内存中的 PouchDB 进行一次性、单向复制,然后进行双向、持续同步。

在无服务器环境中,这很可能不会显着提高性能,因为有各种原因,例如并发性、函数启动时间增加等等。

有关更多详细信息,请参阅 https://pouchdb.com/api.html#sync

Auth.js © Balázs Orbán 和团队 -2024