diff --git a/docs/19-业务Agent接入实操(示例验证版).md b/docs/19-业务Agent接入实操(示例验证版).md index e751455..df58711 100644 --- a/docs/19-业务Agent接入实操(示例验证版).md +++ b/docs/19-业务Agent接入实操(示例验证版).md @@ -148,7 +148,7 @@ D:\conda\envs\jr_py313\python.exe C:\Users\...\e2e_run_check.py --label 手工 单条链路的手工命令(客户身份 9001,JWT 用配置项 `JWT_PRIVATE_KEY_PATH` 指向的私钥按 RS256 自签, 参考 `tools/acceptance_check.py::token()`)。还没有密钥就先跑一次 -`python tools/generate_jwt_keys.py --out-dir config/jwt/dev`(详见 `docs/25-JWT密钥管理与轮换.md`): +`python tools/generate_jwt_keys.py --out-dir config/jwt/dev`(详见 `docs/26-JWT密钥管理与轮换.md`): ```text POST /api/v1/agent-runs @@ -225,10 +225,10 @@ D:\conda\envs\jr_py313\python.exe tools\demo_agent_e2e.py 4. **`docs/05` §9.5 未收录 `agent-intent-configs` 的 `GET` 详情路径**:该接口实际存在(用于获取 `If-Match` 所需的 ETag),但权威接口文档未列出,属文档待补项。 5. **没有登录接口(已决定推迟,不是遗漏)**:当前没有"账号密码换令牌"的接口,令牌由外部按 - RS256 用私钥自签(见 `docs/25-JWT密钥管理与轮换.md`)。**决定:等业务 Agent 开发阶段 + RS256 用私钥自签(见 `docs/26-JWT密钥管理与轮换.md`)。**决定:等业务 Agent 开发阶段 结束后再补**。补的时候只需动签发侧(新增 `POST /auth/login`:校验密码 → 用私钥签令牌), 验签侧 `JwtAuthenticator` 与身份解析侧 `IdentityService` 都不需要改。 代价与约束:开发阶段凡拿到私钥者都能以 `9001/9002/9003` 身份调用(实测**无法**伪造不存在的 - 用户、**无法**使用已禁用账号,边界是"签名有效 + 用户存在且启用"),因此私钥按 `docs/25` + 用户、**无法**使用已禁用账号,边界是"签名有效 + 用户存在且启用"),因此私钥按 `docs/26` 第 7 节的红线管理;同时业务代码必须始终只从 `RequestContext` 取身份,否则后补登录接口会 从"增量"变成"翻遍所有业务代码"。 diff --git a/docs/25-JWT密钥管理与轮换.md b/docs/26-JWT密钥管理与轮换.md similarity index 100% rename from docs/25-JWT密钥管理与轮换.md rename to docs/26-JWT密钥管理与轮换.md