Skip to content

用户认证 API (Auth)

auth_bp 蓝图提供了系统的安全基础,通过非对称加密的思想生成访问令牌,确保后续计算任务请求的合法性。


  • 身份验证:使用 flask-jwt-extended 生成短期访问令牌。
  • 安全防护:登录接口采用模糊错误提示,防止用户名枚举攻击。
  • 权限分发:响应中包含 is_admin 字段,配合前端路由守卫实现权限分流。

将新用户信息持久化至 User 模型。

  • URL: /register
  • Method: POST
  • Content-Type: application/json
字段名类型必填约束/描述
usernamestring唯一标识,不能为空
passwordstring长度 ≥ 6 位
emailstring标准邮箱格式,需唯一
real_namestring用户真实姓名
schoolstring所属学术机构/学校
  • 201: 注册成功。
  • 400: 参数缺失、邮箱格式错误、密码过短或用户名/邮箱已存在。
  • 500: 数据库事务回滚或系统内部错误。

接口在 Service 层之前执行了原子级校验

  • 正则过滤:通过 re.match 强制执行邮箱格式检查。
  • 幂等性:在 commit 前执行 filter_by 查询,防止数据库并发导致的重复键错误。
try:
# 数据库敏感操作
db.session.commit()
except Exception as e:
# 发生异常立即回滚,防止脏数据入库
db.session.rollback()
current_app.logger.error(f"Error: {str(e)}")