Skip to content
Migrating from NextAuth.js v4? Read our migration guide.

PouchDB Adapter

리소스

설정

설치

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"
 
// PouchDB 인스턴스와 데이터베이스 설정
PouchDB.plugin(require("pouchdb-adapter-leveldb")) // 또는 다른 어댑터
  .plugin(require("pouchdb-find")) // `pouchdb-find` 플러그인을 잊지 마세요
 
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, in-memory 등)를 사용할 수 있습니다.

PouchDB 인스턴스는 반드시 pouchdb-find 플러그인을 제공해야 합니다. 이 플러그인은 어댑터가 내부적으로 인덱스를 구축하고 관리하는 데 사용됩니다.

Advanced usage

메모리 우선 캐싱 전략

인증 계층의 성능을 향상시키려면 PouchDB의 강력한 동기화 기능과 다양한 어댑터를 활용해 메모리 우선 캐싱 전략을 구축할 수 있습니다.

메인 인증 데이터베이스로 메모리 내 PouchDB를 사용하고, 이를 다른 영구 저장된 PouchDB와 동기화하세요. 시작 시 영구 저장된 PouchDB에서 메모리 내 PouchDB로 일회성 단방향 복제를 수행한 후, 양방향 지속적 동기화를 진행할 수 있습니다.

하지만 서버리스 환경에서는 동시성, 함수 시작 시간 증가 등 다양한 이유로 인해 성능이 크게 향상되지는 않을 가능성이 높습니다.

자세한 내용은 https://pouchdb.com/api.html#sync 를 참고하세요.

Auth.js © Balázs Orbán and Team - 2025