工程開發
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日 下午07:41
在 GitHub 查看