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