2.7 KiB
2.7 KiB
2026-08-31 工作日志
fam-core 登录接入 auth-hub 统一登录(已部署 + 端到端验证)
目标(用户明确)
http://129.146.26.249:8000(fam-core 公网入口,frp → NAS:8000)的登录改走 auth-hub
统一登录,账号 ericwyuan / iLoveJava5 登录。
现状与动作
- SSO 代码本地早已提交(
8120d2a feat(fam-core): 登录改接 auth-hub 统一登录),NAS 未部署(旧密码登录版)。 - auth-hub 侧(甲骨文 /opt/auth-hub):
- FAM-Core client
a2PJTZuKQYxt1oGh(已存在)→ 轮换 secret 得明文yZfJfD3xJmrCj9PQlbt7P8An9ebZ-nT2f3v4BTtOSu8(旧密钥失效) - redirect_uris 增加
http://129.146.26.249:8000/api/auth/callback(原 :80 回调保留, auth-hub 精确匹配,用户入口是 :8000 所以回调也要 :8000 路径)
- FAM-Core client
- NAS 侧(fam-core):
- venv 补装
PyJWT==2.13.0+cryptography==50.0.1(RS256 验签必需) - 部署新
auth.py(cat 管道覆盖) .env追加 4 个变量:AUTH_HUB_ISSUER=http://129.146.26.249:5300、AUTH_HUB_CLIENT_ID=a2PJTZuKQYxt1oGh、AUTH_HUB_CLIENT_SECRET=<上面>、AUTH_HUB_REDIRECT_URI=http://129.146.26.249:8000/api/auth/callback- 清 pycache、杀双 gunicorn(今天 18:56 又一个旧进程 + 8/29 旧 master)、单实例重启
- venv 补装
端到端验证(curl cookie jar 全链路)
/login 302 → auth-hub /authorize(PKCE)→ hub 登录(ericwyuan/iLoveJava5 200)→
authorize 302 回 :8000/api/auth/callback?code&state → fam-core 换 token+JWKS 验签 →
种 fam_session → /api/auth/check = {"authed":true},/api/status 200 ✓
注意
- 本地 repo 3 个提交待 push(8120d2a SSO + 2 docs),等用户确认推送
- NAS 仍跑旧版其余代码(webhook 移除等未部署,独立待办)
- 密码登录
/api/login已移除;fam-ui SPA 无登录逻辑,不受影响
补充:webhook/旧前端清理部署到 NAS(用户确认"清理")
- 全量比对 NAS vs repo:仅
app.py、motion_bp.py、config.yaml三处是旧版(其余已同步) - 同步:3 个文件(app.py 移除 static_bp/refresh_camera_map 调用;motion_bp.py 移除 webhook 端点; config.yaml 移除 camera_name_to_id/enrich_window_sec)
- 删除废弃:
static_app.py、fam-ui/目录、根start_ui.sh、scripts/start_ui.sh - 清 pycache + 单实例重启
- 验证:启动日志无
refresh_camera_map告警;/api/ss/webhook→ 401(已移除白名单与路由); SSO 登录/login302 → auth-hub 正常、{"authed":true};/api/ss/status200;Oracle 同步正常 - 至此 NAS fam-core 代码与本地 repo 全量一致(除 .env/venv/logs)