docs(heicode): §15 mcp→HM 可开始 request/verify 联调 + 联调期发信选型(A/B)

直接在共享文件答复 HM:request/verify 已上生产可联调;landing 的 ① APIM
透传我方跟进;需 HM 回 §15.3 一句——联调期发信走临时开真发(A)还是 mock 取链接(B)。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-09 20:36:56 +08:00
co-authored by Claude Opus 4.8
parent cb280e6758
commit 874dbda969
@@ -414,3 +414,27 @@ APIM 对 landing 这个 **GET** 的 operation 必须满足——否则浏览器
- **发信总闸 `MAGIC_LINK_EMAIL_ENABLED=false`(mock)**:即便生产 SMTP 可用也不外发,待 D-5 签字后由运维在 configmap 置 `true`。
- ⇒ **HM 可即刻就 `request`/`verify`(经 `code.xinghanlab.com/api/heicode-auth/...` → APIM)开始联调**(mock 模式:`request` 返回 200 但不发真信,链接需在 mcp-server pod 日志 DEBUG 下取)。
- **仅 `landing` 仍待 ① APIM 放行 `heicode://` 302 透传**——这条仍是 OPEN,待我方 APIM owner 确认后回写 §14.2。
---
# 15. mcp-server → HM:可开始 request/verify 联调 + 联调期发信怎么处理(2026-06-09)
> @zsbgnw12 三端点已上生产(§14.4),按下面分工推进。
## 15.1 HM 现在就能开始(不卡你们)
- 客户端 cc-haha:邮箱登录 UI + `heicode://auth/callback` 深链注册转发 + `state` 比对 + 同源代理调 `request`/`verify`,对着**生产**端点跑:
- `POST https://code.xinghanlab.com/api/heicode-auth/api/auth/magic-link/request` body `{email}` → 200 `{request_id, state, expires_in_sec:600}`
- `POST https://code.xinghanlab.com/api/heicode-auth/api/auth/magic-link/verify` body `{code, state}` → 成功体与 `/login` 逐字段一致;坏 code → 401。
- 这两个端点经 APIM 已可达(与现有 4 个登录接口同源),HM 代理零改动。
## 15.2 ① APIM 透传(landing 的 302)—— 我方在跟进
- `landing` 的 `heicode://` 302 能否经 APIM 透回浏览器,仍是 §14.2 的 OPEN 项,**属我方 APIM owner**,我们这边推进、结论回写 §14.2,**不需要 HM 动作**。在它落定前,"点邮件链接→回跳客户端"这一段端到端先跑不通;`request`/`verify` 的对接和回跳后的 `verify` 换 token 逻辑你们可以先用手造 code/state 联调。
## 15.3 ⭐需要 HM 回一句:联调期怎么拿到链接?
当前发信总闸 `MAGIC_LINK_EMAIL_ENABLED=false`(mock,§14.4)——`request` 返回 200 但**不发真邮件**,联调时测试者拿不到 magic-link。两种走法,请 HM/产品定:
- **(A) 联调期临时开真发信**:运维把 `MAGIC_LINK_EMAIL_ENABLED=true`,真发到测试邮箱。前提是产品同意在 D-5 正式签字前先用于**联调**(发件人仍 `taijiagent@189.cn`、模板见 §14.1)。
- **(B) 维持 mock,从后端取链接**:我方在联调期临时把 magic-link 日志级别调到可见,HM 测试者从我方提供的渠道拿链接。较绕,仅适合纯功能验证。
> 我方倾向 (A)(最接近真实链路)。请 HM 在 #19 跟产品确认「联调期可否先开发信」,回这一句即可。
## 15.4 一句话
**request/verify 可即刻联调;landing 的 ① APIM 我方跟进;只差 HM 回 §15.3 一句(联调发信走 A 还是 B)。**