身份验证
登录 Jamdesk、检查会话,并了解 Jamdesk CLI 如何进行身份验证。涵盖令牌存储、会话刷新、团队账户和 CI/CD 环境。
CLI 通过浏览器登录您的 Jamdesk 账户。部署前请先登录。
登录
jamdesk login
此命令会在浏览器中打开 Jamdesk 控制台。流程如下:
- CLI 在
127.0.0.1:9876上启动本地 HTTP 服务器(如果 9876 端口被占用,则回退到操作系统分配的端口) - 您的浏览器打开
dashboard.jamdesk.com/cli-auth - 您使用任一控制台登录方式进行身份验证(邮箱/密码、Google、GitHub)
- 控制台将您的凭据发送回 CLI 的本地服务器
- 凭据存储在
~/.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 指南。
