SuperAPI AI 工具集

engineering-betterauth-integration

安全与审计

查看项目

更新于 10-15 21:41

技能介绍

用途:为游戏后端实现认证与授权,包括登录注册流程、OAuth 社交登录、会话管理、JWT 以及玩家/版主/管理员的分级 RBAC。触发场景为 auth、authentication、login、signup、OAuth、JWT、session、RBAC、roles、permissions、player auth、admin auth、moderator、BetterAuth。前置条件为 postgres-game-schema(用户表)。

主要能力:使用 BetterAuth 配合 Drizzle 适配器与 OAuth 提供商配置认证实例,支持自定义用户字段;在 Elysia 中挂载认证处理器并提供 requireAuth、requireRole、optionalAuth 中间件;定义角色枚举与权限映射实现 RBAC;挂载注册、登录、登出、OAuth、会话、管理端等标准路由;保护游戏接口与 WebSocket 连接(升级前校验会话);通过 hasPermission 做细粒度权限判断。

使用方式:安装依赖 bun add better-auth drizzle-orm @neondatabase/serverless 与 bun add -d drizzle-kit @types/bun;配置认证实例与中间件;定义角色权限;挂载路由;生成并执行迁移 bunx drizzle-kit generate 与 bunx drizzle-kit migrate;对游戏路由应用中间件,例如 app.use(requireAuth).get('/api/game/state', ({ user }) => getGameState(user.id))。

适用场景:多人游戏的玩家账号体系、社交登录、管理后台权限控制、WebSocket 鉴权。

限制与注意:资料未提供具体收费、平台支持范围与性能数据。建议使用会话令牌而非仅用 JWT(可服务端撤销);不要自行实现密码哈希;认证端点需限流(每分钟 5-10 次);角色应从数据库读取而非存入令牌;不要用单一 admin 布尔值;区分认证会话与游戏会话;不要信任客户端传入的用户 ID;注意 CORS 配置。相关技能包括 postgres-game-schema、game-backend-architecture、redis-game-patterns、stripe-game-payments。