docs: 记录 8/29 同步 1062 修复与 8/31 auth-hub SSO 接入/清理部署;gitignore 排除独立项目 ai-gateway

This commit is contained in:
ericwyuan
2026-08-31 22:38:29 +08:00
parent feb096ff3d
commit 9c4db682d5
3 changed files with 51 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
# 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 路径)
- **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、单实例重启
### 端到端验证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 个提交待 push8120d2a 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 登录 `/login` 302 → auth-hub 正常、`{"authed":true}``/api/ss/status` 200Oracle 同步正常
- 至此 NAS fam-core 代码与本地 repo 全量一致(除 .env/venv/logs

View File

@@ -26,6 +26,11 @@
手动 setsid 会端口冲突venv `/opt/fam-edge/venv`;库 `/opt/fam-edge/data/oracle.db`
素材 `/opt/fam-edge/gdrive_videos`logs 目录 ubuntu 可写。
**前端亦托管于此机 Caddy :80**fam-ui SPA + /api 反代回 NAS fam-core :8000 经 frp 隧道);旧机 129.146.203.203 已退役。
- **登录2026-08-31 起)**fam-core 不再自己校验密码,登录全权走 auth-hub 统一登录
OAuth2 Auth Code + PKCE / OIDC`http://129.146.26.249:5300`。fam-core client
`a2PJTZuKQYxt1oGh`,回调 `:8000/api/auth/callback`auth-hub 侧注册了 :80 和 :8000 两个回调)。
NAS `.env``AUTH_HUB_ISSUER/CLIENT_ID/CLIENT_SECRET/REDIRECT_URI`(缺任一 fail closed
账号:`ericwyuan / iLoveJava5`hub 端。NAS venv 需 PyJWT + cryptographyRS256 验签)。
- 部署:本地 git 提交 push Gitea → tar 管道NAS 直接解包Oracle `--strip-components=1` 到临时目录再 cp避免动 data/venv
- **NAS 部署坑2026-08-29 踩过)**:拷贝 `.py` 会带旧 mtime`.pyc``.py`Python 加载陈旧字节码
(旧逻辑上线,曾导致 1062 假象)。部署后必须 `find src -name __pycache__ -exec rm -rf {} +` 再重启;