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

Unstorage Adapter

리소스

설정

설치

npm install unstorage @auth/unstorage-adapter

설정

./auth.ts
import NextAuth from "next-auth"
import { UnstorageAdapter } from "@auth/unstorage-adapter"
import { createStorage } from "unstorage"
 
const storage = createStorage()
 
export const { handlers, auth, signIn, signOut } = NextAuth({
  adapter: UnstorageAdapter(storage),
  providers: [],
})

Advanced usage

여러 앱에서 단일 스토리지 사용하기

여러 개의 Auth.js 연결 앱이 동일한 스토리지를 사용하는 경우, 각 앱마다 다른 키 접두사를 사용해야 합니다.

이 접두사는 어댑터 팩토리 함수의 두 번째 인자로 options 객체를 전달하여 변경할 수 있습니다.

이 객체의 기본값은 다음과 같습니다:

const defaultOptions = {
  baseKeyPrefix: "",
  accountKeyPrefix: "user:account:",
  accountByUserIdPrefix: "user:account:by-user-id:",
  emailKeyPrefix: "user:email:",
  sessionKeyPrefix: "user:session:",
  sessionByUserIdKeyPrefix: "user:session:by-user-id:",
  userKeyPrefix: "user:",
  verificationTokenKeyPrefix: "user:token:",
}

일반적으로 이 시나리오에서는 baseKeyPrefix만 변경해도 충분하지만, 더 커스텀한 설정을 원한다면 각 키의 접두사를 모두 변경할 수도 있습니다.

import NextAuth from "next-auth"
import { UnstorageAdapter } from "@auth/unstorage-adapter"
import { createStorage } from "unstorage"
 
const storage = createStorage()
 
export const { handlers, auth, signIn, signOut } = NextAuth({
  adapter: UnstorageAdapter(storage, { baseKeyPrefix: "app2:" }),
})

getItem/setItem 대신 getItemRaw/setItemRaw 사용하기

JSON을 지원하는 스토리지를 사용한다면, getItem/setItem 대신 getItemRaw/setItemRaw를 사용할 수 있습니다.

이 기능은 실험적입니다. 자세한 내용은 unjs/unstorage#142를 참고하세요.

이 기능을 활성화하려면 어댑터 팩토리 함수의 두 번째 인자로 options 객체에 useItemRaw: true(기본값: false)를 전달하면 됩니다.

export const { handlers, auth, signIn, signOut } = NextAuth({
  adapter: UnstorageAdapter(storage, { useItemRaw: true }),
})
Auth.js © Balázs Orbán and Team - 2025