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

34 lines
1.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.xyz`2026-09-12 前是 NAS :8124
- client_id`996aLPw4T5gl-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.py``exchange_code_for_token`(换 token
`get_userinfo``find_or_create_user`(无则建号)→ 本应用签 JWT 返回前端。
本地邮箱/密码注册登录(曾经的 `/api/auth/register|login`**已移除**。
Garmin 账号授权是另一条独立流程(见 routes/garmin.py 的 `/api/garmin/login`
与 Web 登录无关。