Skip to content

feat: add basic auth middleware

Yun.Long requested to merge feature/6-basic-auth-middleware into main

概述

添加HTTP Basic Authentication中间件到FastAPI项目

变更内容

新增功能

  • BasicAuthMiddleware: HTTP Basic Authentication中间件
    • 支持配置用户名/密码
    • 支持白名单路径(如文档、健康检查等)
    • 自动从环境变量读取凭据
  • 健康检查端点: /health 端点

修改文件

  • app/main.py: 集成中间件和健康检查
  • requirements.txt: 更新依赖版本

测试

  • 添加完整的单元测试
    • 中间件初始化
    • 路径白名单检查
    • 认证头部解析
    • 集成测试
    • 健康检查端点

使用方法

  1. 设置环境变量
    export BASIC_AUTH_USERNAME=admin
    export BASIC_AUTH_PASSWORD=secret
  2. 启动服务
  3. 访问需要认证的端点

验证

  • 所有单元测试通过
  • 中间件正常工作
  • 白名单路径可以无认证访问

Closes #6

Merge request reports