コンテンツへスキップ
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 and Team -2024