Unstorage アダプター
リソース
セットアップ
インストール
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: [],
})
高度な使用方法
単一のストレージで複数のアプリを使用する
同じストレージを使用する複数の Auth.js 接続アプリがある場合、各アプリに異なるキープレフィックスが必要です。
アダプターファクトリ関数への第2引数として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をご覧ください。
アダプターファクトリ関数への第2引数としてoptions
オブジェクトにuseItemRaw: true
(デフォルト: false)を渡すことで、この機能を有効にできます。
export const { handlers, auth, signIn, signOut } = NextAuth({
adapter: UnstorageAdapter(storage, { useItemRaw: true }),
})