问题域/PD-62

认证授权

Authentication & Authorization

用户身份验证、会话管理和访问控制机制

子问题

1.用户注册登录

2.会话管理

3.客户端服务端分离

4.OAuth 集成

5.构建时环境变量安全校验

6.Server Component 会话请求去重

各项目的解法1 solutions

Signals

横向对比

维度DeerFlow
认证库选型better-auth v1.3,TypeScript-first,内置多策略
集成方式Next.js Catch-All API Route + toNextJsHandler 适配器
会话获取服务端 React cache() 包装 auth.api.getSession,请求级去重
类型安全$Infer.Session 从配置自动推断,零手动类型维护
环境校验T3 Env + Zod,生产环境强制 SECRET,开发环境可选
客户端服务端分离config/server/client 三文件拆分,防止服务端代码泄露到 bundle

最佳实践

1.使用成熟认证库而非自行实现,分离客户端和服务端认证逻辑

2.用 React cache() 包装 getSession 实现 RSC 渲染周期内请求去重

3.用 T3 Env + Zod 在构建时校验认证密钥,区分生产/开发环境严格度