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 面板 中。