Morphz 文档

远程 OAuth 登录

在 SSH、无头服务器或远程控制台中完成账号授权。

当浏览器与 Morphz 不在同一台机器时,浏览器地址中的 localhost 指向访问端,而不是 Morphz 服务器。登录流程必须显式处理这个部署事实。

优先使用设备码

如果服务支持设备码,控制台会显示验证网址和短期用户码:

  1. 在任意已登录浏览器中打开验证网址;
  2. 输入用户码并批准;
  3. 保持 Morphz 登录页面开启,等待服务确认;
  4. 认证完成后再持久化账号、服务与模型路由。

设备码不要求浏览器访问 Morphz 的 localhost,因此最适合 SSH 和无头服务器。部分服务需要用户或工作区管理员先启用设备码;未启用时,按照控制台显示的服务方入口完成设置后重试。

浏览器回调的手工交接

某些服务只提供 Authorization Code + PKCE,并把浏览器重定向到本机回调地址。远程场景下可以:

  1. 在控制台中开始一次登录;
  2. 在访问端浏览器完成授权;
  3. 浏览器跳到 http://localhost:.../callback?code=...&state=... 时,即使页面拒绝连接也不要重新登录;
  4. 复制地址栏中的完整 URL;
  5. 粘贴回原登录窗口完成验证。

完整 URL 中的 state 必须与当前登录事务匹配。开始第二次登录会产生新的 state,旧回调不能用于新事务。

SSH 端口转发

如果希望浏览器自动完成 loopback 回调,可以在访问端建立本地端口到 Morphz 服务器的转发。实际端口以登录界面显示为准。

ssh -L 1455:127.0.0.1:1455 user@server

安全边界

  • 不要把包含 codestate 的回调 URL发送给其他人;
  • 登录成功前不写入长期账号记录;
  • 登录失败或过期后丢弃本次临时状态;
  • 令牌只进入密钥存储,不进入会话、认知上下文或普通日志。