跳至內容
從 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 中建立資料表。如果資料表不存在,它將建立 4 個資料表:accountssessionsusersverification_tokens

目前無法設定資料表前綴 ""

您可以使用如下所示的方法,在每次您的 worker 啟動時嘗試遷移一次。多次執行遷移不會清除您現有的資料表。

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)
}
  • 您也可以手動初始化您的資料表。請查看 migrations.ts,其中包含相關的 SQL 以及上述 up() 函數的範例。
  • 將 SQL 從您的 D1 資料庫主控台中複製並執行,在 Cloudflare 儀表板中。
Auth.js © Balázs Orbán 和團隊 -2024