Skip to content

Python Auth 与菜单

路由:app/api/v1/auth.py
服务:app/services/auth_service.py

端点

方法路径鉴权说明
GET/api/v1/health公开健康检查
POST/api/v1/auth/login公开登录,写入登录日志
POST/api/v1/auth/refresh公开refreshToken 换新 session
POST/api/v1/auth/logout登录登出
GET/api/v1/auth/me登录user + roles + permissions + menus
GET/api/v1/auth/profile登录个人资料
PUT/api/v1/auth/profile登录更新个人资料
POST/api/v1/auth/change-password登录修改密码

LoginResponse

AuthService 构建流程(与 Java 一致):

  1. 用户 → 角色 → permissions(字符串列表)
  2. 签发 access / refresh JWT
  3. _build_menu_tree(permissions, client) — 按权限与 client 过滤菜单

client 参数

login / me 可传 clientwebdesktop 等),对应 core/menu_client.py 过滤逻辑。

recordLogin

GET /auth/me?recordLogin=true — 前端 Token 恢复时补记登录日志(与 Java 对齐)。

菜单过滤

  • 叶子:须拥有 menu.permission 对应权限码
  • 目录:至少一个可访问子节点才保留
  • GET /api/v1/system/menus 返回全量树(管理端)

登录日志

相关文档

Xichen Full Stack 内部文档