鉴权与安全
Token 的三条关键约定
- 只显示一次 — 生成时明文只出现一次,关闭对话框后无法再取回。请立即存到你的密钥管理位置(环境变量、Secret Manager、1Password 等)。
- 无自动过期 — Token 永久有效,直到你主动 rotate 或 revoke。不需要定期"续期"。
- 无 grace period — rotate / revoke 后下一次请求就 401。没有缓存、没有过渡窗口。
Rotate(重置)
何时:怀疑泄露、员工离职、按公司规范做定期轮换。
操作:控制台 → 项目 → 开放平台 → 重置 MCP Token。
生成一条新 token,旧 token 立即失效。用新 token 更新你的 mcp.json 即可。
Revoke(撤销)
何时:项目下线、暂时关闭集成。
操作:控制台 → 项目 → 开放平台 → 撤销 MCP Token。
Token 立即失效。恢复需要重新生成(不能恢复已撤销的 token)。
权限模型
| 你的角色 | 能做什么 |
|---|---|
| Team 任意成员 | 查看 token 是否已生成、看到 12 字符前缀(lox_mcp_XXXX) |
Team admin / owner | 生成 / 重置 / 撤销 |
受保护项目:若项目开启了受保护模式(用于避免长期集成被误操作),一旦已有 MCP Token,重置和撤销都会 403;但首次生成依然放行。
Token 前缀的用途
控制台会显示当前 token 的 12 字符前缀(形如 lox_mcp_ZNWw)。用于在多次 rotate 历史中辨识"我 mcp.json 里配的是不是当前的那条"—— 把请求头里 Bearer 值的前 12 字符跟这个前缀对一下就知道了。
前缀不是密钥的一部分,可以放心贴到工单或 chat 里做诊断(完整 token 不要贴)。
安全最佳实践
- ❌ 不要 commit 到代码仓库 —— 加入
.gitignore,用环境变量 - ❌ 不要写进 CI/CD 明文 YAML —— 用 CI 平台的 secret 存储(GitLab CI Variables、GitHub Actions Secrets)
- ✅ 一个项目一条 token — 不跨项目共用,rotate 的爆炸半径更小
- ✅ 疑似泄露立即 rotate — 越快越好,
lox_mcp_前缀让扫描器(GitHub Secret Scanning、Gitleaks)能识别 - ✅ CI secret scanner 里加
lox_mcp_[A-Za-z0-9_-]{32,}规则 — 自动阻止把 token 提交到代码里
服务端不存 token 明文(与 GitHub PAT、Stripe API Key 等主流实践一致),因此遗失只能重新生成、不能"找回"。