Jamdesk Documentation logo

身份验证

登录 Jamdesk、检查会话,并了解 Jamdesk CLI 如何进行身份验证。涵盖令牌存储、会话刷新、团队账户和 CI/CD 环境。

CLI 通过浏览器登录您的 Jamdesk 账户。部署前请先登录。

登录

jamdesk login

此命令会在浏览器中打开 Jamdesk 控制台。流程如下:

  1. CLI 在 127.0.0.1:9876 上启动本地 HTTP 服务器(如果 9876 端口被占用,则回退到操作系统分配的端口)
  2. 您的浏览器打开 dashboard.jamdesk.com/cli-auth
  3. 您使用任一控制台登录方式进行身份验证(邮箱/密码、Google、GitHub)
  4. 控制台将您的凭据发送回 CLI 的本地服务器
  5. 凭据存储在 ~/.jamdeskrc 中

CLI 在回调时会验证 state 参数,以防止跨站请求伪造。登录流程在 2 分钟后超时。

Expected output
$ jamdesk login
ℹ Open this URL in your browser to log in:

  https://dashboard.jamdesk.com/cli-auth?port=9876&state=abc123...

ℹ Waiting for authentication...
✔ Logged in as you@example.com

无头环境和 SSH 环境:即使无法打开浏览器,CLI 也始终会将 URL 打印到终端中。将该 URL 粘贴到任意浏览器中即可。

登出

jamdesk logout

清除 ~/.jamdeskrc 中存储的凭据。如果您未登录,则不执行任何操作。

Expected output
$ jamdesk logout
✔ Logged out (you@example.com)

Whoami

jamdesk whoami

显示您已登录的邮箱。它会刷新令牌以验证会话,从不读取本地缓存。

可能的状态:

$ jamdesk whoami
✔ Logged in as you@example.com

会话工作原理

凭据以 JSON 格式存储在 ~/.jamdeskrc 中,权限为 0600(仅所有者可读写):

~/.jamdeskrc
{
  "auth": {
    "refreshToken": "AGK...",
    "email": "you@example.com",
    "uid": "abc123",
    "expiresAt": 1700000000000
  }
}

CLI 使用 刷新令牌 + ID 令牌 架构:

  • ID 令牌 约 1 小时后过期,用于 API 调用
  • CLI 会在到期前 5 分钟使用存储的刷新令牌 自动刷新 ID 令牌
  • 刷新令牌有效期较长,但可以被撤销(修改密码、删除账户)
  • 当刷新令牌被永久判定为无效时(TOKEN_EXPIRED、USER_NOT_FOUND、INVALID_REFRESH_TOKEN),CLI 会清除已存储的身份验证信息

CLI 会在每个需要身份验证的命令执行时刷新令牌。您无需手动刷新。

故障排除

防火墙可能阻止了 CLI 的本地回调服务器。请复制打印出的 URL,并在浏览器中打开。

当 9876 端口被其他进程占用时,CLI 会选择其他端口。请检查终端输出中的 URL。

您的刷新令牌已失效。这通常发生在修改密码或长时间未活动之后。

运行 jamdesk login 以获取新的会话。

无头环境(SSH、Docker、CI)无法打开浏览器。请从终端复制 URL,并在任意能够访问您机器回调端口的浏览器中打开。

请检查 ~/.jamdeskrc 是否存在,并包含 auth 键:

cat ~/.jamdeskrc

文件权限应为 0600。文件缺失可能意味着您的主目录存在权限问题。可以使用 ls -la ~ 进行检查。

更多 CLI 故障排除信息,请参阅帮助中心 CLI 指南。

接下来?

CLI 部署

从终端部署您的文档

CLI 概览

一览所有 CLI 命令