跳至内容
从 NextAuth.js v4 迁移?阅读 我们的迁移指南.
入门适配器Cloudflare D1

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