远程 OAuth 登录
在 SSH、无头服务器或远程控制台中完成账号授权。
当浏览器与 Morphz 不在同一台机器时,浏览器地址中的 localhost 指向访问端,而不是 Morphz 服务器。登录流程必须显式处理这个部署事实。
优先使用设备码
如果服务支持设备码,控制台会显示验证网址和短期用户码:
- 在任意已登录浏览器中打开验证网址;
- 输入用户码并批准;
- 保持 Morphz 登录页面开启,等待服务确认;
- 认证完成后再持久化账号、服务与模型路由。
设备码不要求浏览器访问 Morphz 的 localhost,因此最适合 SSH 和无头服务器。部分服务需要用户或工作区管理员先启用设备码;未启用时,按照控制台显示的服务方入口完成设置后重试。
浏览器回调的手工交接
某些服务只提供 Authorization Code + PKCE,并把浏览器重定向到本机回调地址。远程场景下可以:
- 在控制台中开始一次登录;
- 在访问端浏览器完成授权;
- 浏览器跳到
http://localhost:.../callback?code=...&state=...时,即使页面拒绝连接也不要重新登录; - 复制地址栏中的完整 URL;
- 粘贴回原登录窗口完成验证。
完整 URL 中的 state 必须与当前登录事务匹配。开始第二次登录会产生新的 state,旧回调不能用于新事务。
SSH 端口转发
如果希望浏览器自动完成 loopback 回调,可以在访问端建立本地端口到 Morphz 服务器的转发。实际端口以登录界面显示为准。
ssh -L 1455:127.0.0.1:1455 user@server
安全边界
- 不要把包含
code和state的回调 URL发送给其他人; - 登录成功前不写入长期账号记录;
- 登录失败或过期后丢弃本次临时状态;
- 令牌只进入密钥存储,不进入会话、认知上下文或普通日志。