SuperAPI AI 工具集

setup-convex

通用与其它

查看项目

更新于 10-15 20:05

技能介绍

用途:在 Convex 后端中接入 Sigma Auth(比特币原生认证),通过 @sigma-auth/better-auth-plugin 配合 @convex-dev/better-auth 实现 OAuth 流程,支持 BAP(Bitcoin Attestation Protocol)身份。适用于构建 Convex + Better Auth 应用、为 Convex 应用添加比特币原生认证、对接 auth.sigmaidentity.com 的 OAuth 流程;若不使用 Convex,应改用 setup-nextjs 的 Mode B。

主要能力:注册 Better Auth 组件(user、session、account、verification 表与业务表隔离);配置 Convex 认证提供者;在 Convex 服务端加入 sigmaCallbackPlugin 拦截回调、用服务端 SIGMA_MEMBER_PRIVATE_KEY 换取令牌、创建或更新用户并建立会话;通过 Next.js 代理 /api/auth/* 请求到 Convex HTTP actions;客户端用 sigmaClient 发起 OAuth,用 ConvexBetterAuthProvider 提供会话状态。

必要用法:安装 bun add @convex-dev/better-auth@0.10.10 better-auth@1.4.9 @sigma-auth/better-auth-plugin(前者对 better-auth@1.4.9 有严格 peer 依赖)。Convex 运行时须使用 better-auth/minimal 而非 better-auth。环境变量需在 Next.js 与 Convex 部署分别设置,生产环境加 --prod,例如 npx convex env set BETTER_AUTH_URL "https://your-site-url"、npx convex env set BETTER_AUTH_SECRET "your-random-secret"、npx convex env set SIGMA_MEMBER_PRIVATE_KEY "your-member-wif-key"。部署前需执行 bunx convex deploy --yes,并核对 NEXT_PUBLIC_CONVEX_URL(.convex.cloud)与 NEXT_PUBLIC_CONVEX_SITE_URL(.convex.site)不可混用。

限制与注意:默认组件不含 admin、organization 插件,需改用 Local Install 并自行生成 schema;createAuthOptions 在模块加载期不得抛错,须用 env() 返回空串,请求期再用 must() 校验;临时 auth.ts 生成 schema 后须立即删除,否则 push 失败;路由处理器需延迟初始化以避免构建期报错;认证 UI 与路由保护需另行配置。资料未提供具体收费、价格与效果数据。