SuperAPI AI 工具集

auth-tls-patterns

通用与其它

查看项目

更新于 10-16 00:30

技能介绍

用途:为带 Web UI 的工具提供“本地无摩擦、远程有安全”的认证与 TLS 方案,避免手动配置。

主要能力:1) localhost 绕过,基于 socket 层客户端 IP(request.client.host)判断,不可被 X-Forwarded-For 或 Host 头伪造;2) 认证级联,按 PAM > 环境变量密码 > 密码文件 > 自动生成随机密码的顺序回退;3) 令牌认证,ensure_token() 生成并持久化 Bearer token,中间件校验受保护路径;4) TLS 级联,优先 Tailscale 真实证书,其次 mkcert 本地受信证书,最后用 Python cryptography 生成自签名证书(含 SAN 的 DNS 名与回环 IP);5) 用 hmac.compare_digest 做常量时间比较防时序攻击。

使用方式:在 FastAPI 启动或 lifespan 中设置 app.state.auth_token = ensure_token() 与 app.state.auth_required;中间件先判断 localhost 与公开路径,再校验 Authorization: Bearer。密钥文件写入前先 touch(0o600),写后 chmod(0o600)。

限制与注意:WebSocket 不经过 BaseHTTPMiddleware,需单独实现 _ws_auth_check();每次请求从磁盘读取密钥便于轮换,缓存则需重启生效;自签名证书必须含 SAN,否则 Chrome 拒绝;GET 接口对密钥做脱敏返回空串时,PATCH 回写可能覆盖真实密钥,需按标识匹配保留原值。资料未提供具体安装命令、收费与平台信息。