SuperAPI AI 工具集

setup-nextjs

前端与建站

查看项目

更新于 10-15 20:05

技能介绍

用途:在 Next.js 应用中接入 Sigma Auth(Bitcoin-native authentication),实现基于 OAuth 的登录流程,并支持 BAP(Bitcoin Attestation Protocol)身份。

主要能力:提供两种集成模式。模式 A 为跨域 OAuth 客户端,用户向 auth.sigmaidentity.com 认证,令牌在本地管理;模式 B 为同域 Better Auth 服务器,可使用会话(useSession)。附带三个脚本:detect.ts 分析项目结构与框架、包管理器并给出建议;validate-env.ts 校验必需环境变量与 WIF 格式;health-check.ts 测试认证服务器连通性、OpenID 配置、JWKS 端点与延迟。

安装:bun add @sigma-auth/better-auth-plugin

必要用法:设置环境变量 NEXT_PUBLIC_SIGMA_CLIENT_ID、NEXT_PUBLIC_SIGMA_AUTH_URL、SIGMA_MEMBER_PRIVATE_KEY(仅服务端),可选 NEXT_PUBLIC_APP_URL。模式 A 需创建 app/api/auth/sigma/callback/route.ts 使用 createCallbackHandler(),并在回调页调用 authClient.sigma.handleCallback() 手动存储令牌;模式 B 在 lib/auth.ts 中加入 sigmaCallbackPlugin,并通过 toNextJsHandler 暴露路由。客户端均用 createAuthClient 配置 baseURL 为自身 /api/auth。

适用场景:新建或已有 Next.js 项目添加比特币原生认证、实现与 auth.sigmaidentity.com 的 OAuth 流程、集成 BAP 身份。

限制与注意事项:SIGMA_MEMBER_PRIVATE_KEY 不得暴露给客户端;模式 A 的 useSession 不可用,需本地管理状态;跨域需处理 CSRF/trustedOrigins(如 Vercel 预览域名);回调 URL 必须与 Sigma 注册一致;PKCE 依赖 sessionStorage,需插件 v0.0.74+;从模式 B 迁移到 A 需移除 baseURL 指向认证服务器、删除 catch-all 路由等。具体收费、价格与平台支持暂未提供。