Files
GarminHealthLab/docs/AUTH_HUB_INTEGRATION.md
ericwyuan 4331a07462 docs: docs/ 目录同步甲骨文部署事实(上一提交漏加)
上一个提交 git add 漏了 docs/,架构/开发/需求/auth-hub 集成文档里的 NAS
IP、8124 端口还是旧的,补上。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-12 23:53:26 +08:00

1.6 KiB
Raw Blame History

auth-hub 集成说明

本应用不自己管账号——登录由 auth-hub(统一 SSO / OIDC 提供方)承接, 本仓库只做 OAuth2 client 侧的事。

依赖的配置backend/.env

变量 说明
AUTH_HUB_BASE_URL auth-hub 服务地址(生产 http://129.146.26.249:5300
AUTH_HUB_CLIENT_ID 本应用在 auth-hub 注册的 client
AUTH_HUB_CLIENT_SECRET 对应 secret只放 .env不入库
AUTH_HUB_REDIRECT_URI 回调地址,必须与 auth-hub 侧注册值完全一致

生产 client甲骨文云主机garmin.zichuan.xyz2026-09-12 前是 NAS :8124

  • client_id996aLPw4T5gl-rYZ
  • 在 auth-hub 注册的回调:
    • https://garmin.zichuan.xyz/auth/callback唯一注册的回调地址NAS 时代 的 LAN / frp 地址已用 manage_clients remove-redirect-uri 清掉)
  • 注意 auth-hub 的 dev 与 prod 是两套独立数据库、各自注册 client 在 dev auth-hub 上创建的 client 不能用于 prod反之亦然。

流程

  1. 前端请求 POST /api/auth/auth-hub/start → 拿到 auth-hub 授权 URL浏览器跳转
  2. auth-hub 登录后回调 GET /api/auth/callback?code=…
  3. 后端 services/auth_hub_client.pyexchange_code_for_token(换 tokenget_userinfofind_or_create_user(无则建号)→ 本应用签 JWT 返回前端。

本地邮箱/密码注册登录(曾经的 /api/auth/register|login已移除。 Garmin 账号授权是另一条独立流程(见 routes/garmin.py 的 /api/garmin/login 与 Web 登录无关。