Documentation Hub · Engineering Reference

相关文档

从应用架构、核心业务模块到本地运行与质量验证,快速了解 PolyGo 的完整工程实现。

这里将 modules/ 中的模块说明整理为便于浏览的 HTML 文档,适合项目演示、代码阅读和开发协作时查阅。

10 核心模块文档
4 质量验证层级
1 完整协作闭环
01Authentication

认证模块说明

认证模块位于后端 backend/polygo_api/,涉及 routes.py、models.py、auth.py、create_account.py 与 database.py。它负责用户注册、登录、当前用户查询、Token 刷新、登出和密码重置演示流程。

认证流程

当前认证由 PocketBase 和 FastAPI 共同完成:

  1. 用户通过前端提交邮箱、用户名和密码。
  2. 后端用 Pydantic 模型校验输入。
  3. create_account.py 调用 PocketBase 的 users auth collection 创建或查询用户。
  4. 登录成功后,FastAPI 自己签发 JWT。
  5. 前端保存 access_token,后续请求通过 Authorization: Bearer ... 访问后端。

PocketBase 的 users 集合中,前端的 username 会映射到 PocketBase 的 name 字段。

主要接口

方法路径说明
POST/auth/register注册用户
POST/auth/login登录用户
GET/auth/me获取当前用户
POST/auth/refresh刷新访问令牌
POST/auth/logout登出
POST/auth/reset-password-request请求密码重置
POST/auth/reset-password确认密码重置

密码规则

  • 至少 8 位。
  • 至少包含一个字母。
  • 至少包含一个数字。

注册和密码重置都会走同样的基础校验。

验证方式

conda run -n polygo python -m pytest tests/test_auth.py
conda run -n polygo python scripts/test_api.py

完整认证链路应覆盖:注册、登录、/auth/me、refresh、密码重置请求、密码重置确认和 logout。