SuperAPI AI 工具集

auth

安全与审计

查看项目

更新于 10-16 02:35

技能介绍

用途:为 open-saas-kit 项目提供基于 Better Auth 的认证能力,覆盖注册、登录、登出、会话读取、用户信息、路由保护、服务端函数鉴权、密码与 OAuth 社交登录等。

主要能力:服务端通过 betterAuth 配置,使用 drizzleAdapter 连接数据库(provider 为 pg,usePlural: true 使用 users、sessions 等复数表名),启用 emailAndPassword,并加载 tanstackStartCookies 插件(须放在插件数组最后)。客户端通过 createAuthClient 创建,baseURL 取 PUBLIC_APP_URL 或 http://localhost:3000,并加载 inferAdditionalFields 插件。支持 authClient.signUp.email、signIn.email、signIn.social(如 github)、signOut,以及 useSession 响应式钩子与 getSession 一次性获取。

使用方式:需创建 /api/auth/$.ts 的 catch-all 路由,将 GET、POST 交给 auth.handler(request)。路由保护在 beforeLoad 中调用 auth.api.getSession({ headers: context.request.headers }),无会话则 redirect 到 /login。服务端函数中用 createServerFn 并在 handler 内校验会话与资源归属。登出可传 fetchOptions.onSuccess 跳转。

适用场景:TanStack Start 应用中的认证集成、受保护路由、服务端鉴权与社交登录。

限制与注意:客户端校验不足,须在服务端校验会话;调用 API 必须传 request.headers;渲染前检查 isPending;回调 URL 用环境变量而非硬编码;会话用 useSession 钩子而非 useState;服务端代码只能从 @oakoss/auth/server 在服务端导入。高级模式、OAuth 配置与会话中间件见 reference.md。具体收费、平台与效果资料暂未提供。