# ADR-0014 在后台完成 Claude 登录 - 状态:Accepted · 日期:2026-10-23 ## 背景 服务以 agentsvc 运行(ADR-0012),每次登录都要在服务器终端执行 `agent-claude auth login`,不够方便。实测确认官方 CLI 在非 TTY 下也支持登录:先输出授权网址,再从标准输入读取授权码。 ## 决策 - 后台"概览"页提供登录、重新登录、退出登录。服务端以 agentsvc 身份启动官方的 `claude auth login`(可选 `--sso`、`--email`),把授权网址交给后台;管理员在 Claude 官方页面登录后,把页面显示的一次性授权码粘贴回后台,服务端写入 CLI 的标准输入 - 同一时间只允许一个登录流程,10 分钟超时,关闭对话框即取消;授权码无效时可以重新输入 - 授权码只在内存中转交:不写入日志、数据库和审计详情(审计只记录"发起 / 成功 / 失败 / 取消"),有测试覆盖 - 终端方式 `agent-claude auth login` 继续保留 ## 合规考虑 Anthropic 条款要求登录在其官方流程中完成,开发者不得收集、保存或中转 Claude.ai 的凭证或会话令牌。本方案中:登录在官方页面完成,凭证的交换和保存由官方 CLI 负责,AgentServer 接触不到密码和令牌;但它会转交一次性授权码,这一步条款没有明确规定。考虑到是账号所有者登录自己服务器上的官方 CLI,效果等同于通过 SSH 把授权码粘贴进终端,判断为低风险;希望完全避开时使用终端方式。不构成法律意见。 ## 安全 - 接口只对后台管理员开放;后台开放到本机以外时必须使用 HTTPS(授权码会经过网络)