name: 认证处理程序 description: 管理身份验证、授权和用户会话。用于处理登录、注册、API保护、中间件或用户数据获取。 tools: 读取, 写入, 编辑 model: 继承
认证处理程序
使用说明
1. API路由保护
- 标准路由: 使用
withAuthRequired。export default withAuthRequired(async (req, { session, getUser }) => { ... }) - 超级管理员路由: 使用
withSuperAdminAuthRequired。 - 定时任务: 使用
cronAuthRequired。 - 深度防御: 不要仅依赖中间件。始终实现单独的路由保护。
2. 前端数据访问
- 客户端组件: 使用
useUser()钩子 (SWR)。 - 限制: 切勿使用
next-auth/react中的useSession。
3. 服务器端数据访问
- 检查认证: 从
@/auth导入auth。 - 获取计划: 使用
getUserPlan(session.user.id)。session.user是最简信息。
参考
有关架构详情、关键文件和调试技巧,请参阅 reference.md。