超超哥AI云计算超哥讲AI 出品

社群入口

AI 超哥 Codex 副业群

扫码加入群聊,一起交流 AI、Codex 与副业实践。

原图注明二维码于10月20日前有效;若提示过期或无法入群,请等待更新二维码。

AI 超哥 Codex 副业群入群二维码在新窗口打开原图

实操任务与综合面试场景

RESTful API、JWT 与权限认证#Python全栈#第十三阶段#RESTful API、JWT 与权限认证#实操任务与综合面试场景约 1783 字 · 5 分钟阅读
追问显示
点击任意追问卡片可收起 / 展开

实操:设计题库 API 的资源、方法、状态码与错误结构。

追问 要求支持列表、详情、新增、编辑、删除和练习记录;如何提交 URL 表、字段契约、分页策略和向后兼容说明?

实操:实现密码登录和当前用户接口。

追问 如何保存密码哈希、签发短期访问令牌、读取 Bearer 凭据并返回最小用户字段?错误反馈如何避免账号枚举?

实操:实现刷新令牌轮换、注销与密码修改后的会话失效。

追问 令牌记录、jti/版本、重复刷新和并发请求如何处理?怎样用测试样例证明旧令牌不再可用?

实操:为题目详情、编辑和删除添加资源级权限。

追问 普通用户、教师和管理员分别可以做什么?如何保证列表、详情、批量操作和直接改 URL 都使用同一数据范围规则?

场景:JWT 解码后 payload 看起来正确,但验证仍失败,如何定位?

追问 签名密钥、算法、kid、issuer、audience、时钟和令牌前后空格怎样逐项核对?为什么只 decode 不具备安全验证作用?

场景:前端不断刷新令牌并重复跳转登录页,如何排查?

追问 401 拦截器、刷新并发、Cookie/CORS、响应格式和刷新令牌过期如何分别验证?如何防止刷新请求自身再次触发拦截循环?

场景:用户 A 修改了用户 B 的题目,只需要猜 ID 即可,如何修复并回归?

追问 查询范围、对象归属、角色权限、批量入口和错误反馈分别如何修改?如何补充防枚举与审计验证?

场景:密钥轮换后部分服务报签名无效,如何恢复并避免再次发生?

追问 kid、公钥发布、缓存刷新、旧钥匙保留窗口和服务启动顺序怎样协调?紧急回滚密钥时如何控制风险?
追问 如何提交 CORS、凭据、CSRF、401 刷新、退出和敏感数据处理的联调记录?哪些验证只能通过真实浏览器完成?

综合实操:完成一个“题库学习平台”认证与权限模块。

追问 要求支持登录、刷新、注销、密码修改、教师发布题目、学生提交练习和管理员审计;如何交付 API 契约、令牌生命周期图、权限矩阵、测试样例、日志脱敏方案和密钥轮换说明?

面试评分参考

每题可按 0~3 分评价:

  • 0 分: 无法区分认证与授权,令牌、密码或资源权限处理错误,不能完成基本保护接口。
  • 1 分: 能复述 REST、JWT 或角色概念,但缺少生命周期、越权、重放和失败处理的具体方案。
  • 2 分: 能实现主要登录与受保护资源流程,验证令牌和数据范围,并处理常见过期、刷新与联调问题。
  • 3 分: 能比较会话与 JWT、Cookie 与 Bearer、RBAC 与资源授权等方案,设计撤销、轮换、审计和可复现安全验证。

重点观察:

  1. API 契约: 资源、方法、状态码、错误结构和版本策略是否清晰稳定。
  2. 密码与令牌: 是否理解密码哈希、JWT 可见性、签名验证、声明校验和刷新/注销生命周期。
  3. 授权边界: 是否把用户身份、角色、scope、租户和资源归属分别检查,覆盖直接请求与批量入口。
  4. 浏览器安全: 能否结合 XSS、CSRF、CORS、Cookie、存储和日志分析令牌暴露风险。
  5. 运维与排错: 是否考虑密钥轮换、时钟、并发刷新、审计和异常处置,能用证据证明修复有效。

使用建议: 分数用于课堂诊断和同组比较,不直接对应薪资或录用结论。优先完成单用户、单租户的清晰认证闭环,再逐步加入刷新、轮换、细粒度权限和审计;不要把“能生成 JWT”当作安全系统已经完成。

课堂练习与组卷建议

  • 基础口试: REST 设计 3 题、JWT 与密码 4 题、权限模型 3 题,要求结合具体资源和请求说明。
  • 契约练习: 完成 91 题,提交资源表、状态码表、错误样例和兼容性说明。
  • 认证练习: 完成 92~94 题,使用教学账号和本地服务验证登录、刷新、注销、越权与资源范围。
  • 浏览器联调: 完成 99 题,分别记录 Bearer 和 Cookie 方案的请求头、凭据、CORS/CSRF 行为与失败结果。
  • 故障练习: 从 95~98 题选 2 题,提交最小复现、日志脱敏后的证据、修复说明和回归结果。
  • 模拟面试: API 设计 3 题、认证原理 3 题、权限场景 3 题、综合实操 1 题;建议口试 40~50 分钟,实操 90~120 分钟。
  • 验收材料: 代码、API 文档、权限矩阵、令牌生命周期图、测试记录、配置示例与密钥轮换方案;所有令牌、密码和密钥使用示例值,禁止将真实凭据写入仓库或日志。

下一阶段: MySQL、SQLAlchemy 与数据库设计,深入关系建模、索引、事务、ORM 映射和接口数据持久化。