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 個資料表:accounts
、sessions
、users
、verification_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 儀表板中。