コンテンツへスキップ
NextAuth.js v4 からの移行ですか?以下をお読みください 移行ガイド.

Cloudflare D1 アダプター

リソース

セットアップ

インストール

npm install next-auth @auth/d1-adapter

環境変数

Cloudflareプラットフォームの環境変数は、wrangler.toml 設定ファイル、または管理ダッシュボードのいずれかで設定します。

設定

./auth.ts
import NextAuth from "next-auth"
import { D1Adapter } from "@auth/d1-adapter"
 
export const { handlers, auth, signIn, signOut } = NextAuth({
  providers: [],
  adapter: D1Adapter(env.db),
})

マイグレーション

アプリケーションの初期化のどこかで、up(env.db)関数を実行して、D1にテーブルを作成する必要があります。まだ存在しない場合、accountssessionsusersverification_tokensの4つのテーブルが作成されます。

テーブルのプレフィックス "" は、現時点では構成できません。

ワーカーが起動するたびに一度マイグレーションを試みるには、次のようなものを使用できます。マイグレーションを複数回実行しても、既存のテーブルが消去されることはありません。

import { up } from "@auth/d1-adapter"
 
let migrated = false
async function migrationHandle({ event, resolve }) {
  if (!migrated) {
    try {
      await up(event.platform.env.db)
      migrated = true
    } catch (e) {
      console.log(e.cause.message, e.message)
    }
  }
  return resolve(event)
}
  • テーブルを手動で初期化することもできます。関連するSQLと、上記のup()関数の例については、migrations.tsを参照してください。
  • CloudflareダッシュボードのD1データベースのコンソール内でSQLを貼り付けて実行します。
Auth.js © Balázs Orbán およびチーム -2024