fastapi-auth-template — JWT 认证模板

此代码库包含完整的用户认证系统:注册、登录、JWT token、密码加密、权限控制。

已创建的文件:

  • app/config.py --- 配置管理
  • app/database.py --- 数据库连接
  • app/models.py --- 用户模型
  • app/auth.py --- JWT 和密码工具
  • app/schemas.py --- 数据验证模型
  • app/dependencies.py --- 依赖注入(get_current_user)
  • app/main.py --- 主应用和所有路由
  • requirements.txt --- 依赖清单
  • .env.example --- 配置示例
  • README.md --- 完整使用说明

使用方式:

  1. 安装 Python(如果还没装)

下载:https://www.python.org/downloads/

  1. 进入项目目录

cd fastapi-auth-template

  1. 安装依赖

pip install -r requirements.txt

  1. 复制配置文件并修改 SECRET_KEY

cp .env.example .env

  1. 启动服务

uvicorn app.main:app --reload

  1. 访问 API 文档

http://localhost:8000/docs

核心功能:

  • 注册:POST /auth/register
  • 登录:POST /auth/login → 返回 JWT token
  • 获取当前用户:GET /users/me(需要 Authorization: Bearer token)
  • 管理员接口:用户列表、启用/禁用、设置管理员权限

代码可以直接用于新项目,也可以作为学习参考。README 里有详细的 API 文档和使用示例。

API 接口:

  • POST /auth/register - 用户注册
  • POST /auth/login - 登录获取 JWT token
  • GET /users/me - 获取当前用户(需认证)
  • PUT /users/me - 更新用户信息(需认证)
  • GET /users/ - 用户列表(管理员)
  • POST /users/{id}/toggle-active - 启用/禁用用户(管理员)
  • POST /users/{id}/toggle-superuser - 设置管理员(管理员)

有需要的小伙伴可私信博主下载

相关推荐
知已难寻2 小时前
Docker 入门:容器技术与 Docker 基础
java·运维·服务器·docker·云原生·容器
星恒随风9 小时前
MySQL 从零入门(三):表的约束详解
linux·服务器·数据库·笔记·mysql
Alluxio9 小时前
Alluxio + OCI:为 AI 工作负载实现亚毫秒访问延迟与可扩展吞吐
运维·数据库·人工智能·分布式·缓存·ai·语言模型
坤坤子吖14 小时前
Linux网络编程:自定义应用层协议与 JSON 序列化
linux·服务器·网络·c++·笔记·json
Sayai14 小时前
Neo4j 图数据质量检查实战:环路检测、孤立节点与连通分量,两条 Cypher 引出的数据体检清单(含变长路径性能陷阱)
运维·neo4j·图数据库·数据质量·cypher
青瓦梦滋14 小时前
Redis主从复制
服务器·数据库·redis·缓存·bootstrap
Elastic 中国社区官方博客14 小时前
更少的位数,相同的召回率:DiskBBQ 更保守的自动校准扫描
大数据·运维·开发语言·人工智能·elasticsearch·搜索引擎
方便面不加香菜14 小时前
Docker Volume -- 管理卷Volume详解
运维·docker·容器
沫璃染墨15 小时前
从零入门计算机网络系列(十八):TCP连接管理详解——从三次握手与四次挥手到TIME_WAIT机制
运维·服务器·网络·c++·网络协议·tcp/ip·tcp
Felven15 小时前
华为鲲鹏920s芯片serdestool工具使用说明
linux·运维·服务器·华为·鲲鹏920·serdestool