工程开发
fastapi-auth avatar

fastapi-auth

在 FastAPI 中实现安全的 Session 认证,包含 Argon2 哈希、数据库会话管理及 OAuth2 供应商整合。

简介

此技能为 FastAPI 应用程序提供了一种强大的身份验证架构模式,专为需要会话持久性和 OAuth2 集成的系统所设计。它采用清晰的三层架构,将数据访问(Repository)、业务逻辑(Service)与请求处理(Router)分离。通过使用 Argon2 进行安全密码哈希,以及使用 SQLAlchemy 进行数据库会话管理,此技能确保用户凭证与活跃会话皆以业界标准的安全性处理。它适合需要结构化登录、注册及路由保护机制的后端工程师使用。

  • 使用 Argon2 密码哈希技术,确保凭证的高度安全与可验证性。

  • 提供模块化的 OAuth2 回调架构,目前支持 Google OAuth 流程,便于快速进行用户注册与登录。

  • 内置专属的 Session Repository 与 Service,用于管理 PostgreSQL 中的 Token 持久化。

  • 通过 HTTPExceptionMixin 实现自定义异常处理,统一 API 的 401 及认证相关错误响应格式。

  • 采用 Pydantic Schema 进行严格的输入验证,涵盖 OAuth 回调与用户会话响应。

  • 实现依赖注入机制以进行身份验证防护,实现端点级别的 HTTPBearer Token 访问控制。

  • 当您需要为平台架构后端系统,并要求用户账号管理、会话状态追踪及第三方身份提供商集成时,请使用此技能。

  • 系统预期接收用户凭证(直接登录)或 OAuth2 回调参数(第三方认证),并输出包含过期信息的 SessionResponse 对象。

  • 部署 Auth 服务前,请确保已正确配置 OAuth 凭证相关的环境变量(如 GOOGLE_CLIENT_ID 等)。

  • 本服务具备高度可扩展性,您可以透过扩充 AuthService 中的供应商字典,轻松新增其他 OAuth 提供商。

  • 所有数据库交互均为异步处理,需搭配异步的 SQLAlchemy 设置以维持系统性能。

仓库统计

Star 数
3
Fork 数
0
Open Issue 数
11
主要语言
TypeScript
默认分支
main
同步状态
空闲
最近同步时间
2026年5月3日 19:41
在 GitHub 查看