Skip to main content
1

开始登录

在终端中运行登录命令:
CLI 会显示一个短代码,并在你的浏览器中打开授权页面。
2

在浏览器中批准

在页面上输入该代码并批准。CLI 会收到它自己的 API 密钥,无需复制粘贴,并将其保存在这台机器上。
输出
以这种方式签发的密钥仅具有 CLI 命令所用的权限,并会在 90 天后过期。auth whoami 会显示过期日期;再次运行 squarecloud auth login 即可续期。 密钥保存在一个只有你能读取的 config.json 文件中:Windows 上位于 %APPDATA%\Square Cloud CLI,macOS 和 Linux 上位于 $XDG_CONFIG_HOME/squarecloud 或 ~/.config/squarecloud。

squarecloud auth login

用法
使用 API 密钥时的输出
  • 按 Ctrl+C 可取消正在等待批准的登录。
  • 如果这台机器已登录另一个账户,auth login 会在替换之前先询问你。传入 -y 可跳过该询问。
  • 如果你的账户已达到 API 密钥数量上限,浏览器登录会提示这一点,并在你于控制面板中吊销一个密钥后自动继续。
  • 没有终端时,该命令不会提示输入,而是输出一条提示信息后退出。当 CI=true 时,浏览器登录会拒绝运行。参见 CI 与脚本。

squarecloud auth whoami

用法
显示你当前登录的账户、其套餐,以及套餐到期前还剩多少天。对于通过浏览器登录签发的密钥,它还会显示密钥的过期时间及其 scope;如果密钥来自 SQUARECLOUD_API_KEY,则会显示这一点。
输出
使用 --json 时,它会以 JSON 格式打印账户信息(ID、名称、电子邮件、语言区域、套餐和创建日期)。

squarecloud auth logout

用法
从这台机器上移除已保存的 API 密钥。它不会吊销该密钥:如需吊销,请在控制面板中删除它。设置了 SQUARECLOUD_API_KEY 时,退出登录后命令仍会继续使用它。
输出
没有连接任何账户时,它会打印 No account is connected on this machine. 并以退出码 0 退出。

CI 与脚本

在 CI 中完全不需要登录:在控制面板中创建一个 API 密钥,并将其设置到 SQUARECLOUD_API_KEY 环境变量中。每个命令都会使用它来代替已保存的密钥,即使在没有主目录的机器上,CLI 也能运行。
  • 没有终端时,auth login 不会提示任何输入,而是输出一条提示信息后退出。请使用 --with-token、--token 或 SQUARECLOUD_API_KEY。
  • 当 CI=true 时,浏览器登录会拒绝运行,因为它签发的密钥会在 90 天后过期,而续期只能由人手动完成。
有关退出码和 JSON 输出的更多信息,请参阅全局标志与 CI。

密钥失效时

如果某个命令提示会话已过期或 API 密钥已被吊销,请再次运行 squarecloud auth login。未保存或未设置密钥时,需要账户的命令会打印 You need to be logged in to run this command. 并以退出码 1 退出。

相关内容