在JumpServer中通过接口获取临时Token方法
在 JumpServer 中,通过接口获取临时 Token(通常用于后续 API 调用的身份认证,或者生成用于直接登录 Web 终端的 App Token)主要有以下两种常见场景。
使用用户名和密码获取用户 Token(常规 API 认证)
如果你是在编写自动化脚本,需要通过账号密码登录 JumpServer 并获取一个临时的 Token 或 Bearer Token 来调用其他 API,可以使用认证接口。
1. 接口信息
- 请求 URL:
http://<jumpserver_url>/api/v1/authentication/tokens/ - 请求方法:
POST - 请求头:
Content-Type: application/json
2. 请求 Body (JSON)
1 | { |
3. 返回示例 (JSON)
1 | { |
如何使用该 Token:在后续请求其他接口(如查询命令)时,在请求头中加入:
Authorization: Bearer e8f9a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8或者Authorization: Token e8f9a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8。
安全建议
- Token 有效期:通过账号密码获取的临时 Token 默认有过期时间(通常为数小时,具体取决于 JumpServer 系统设置中的
TOKEN_EXPIRATION参数)。过期后需重新调用该接口刷新。 (v4版本默认1d) - MFA(多因子认证)限制:如果你的 JumpServer 账号开启了 MFA(如谷歌验证码),直接使用用户名密码调用
/tokens/接口可能会返回需要输入 MFA 认证码的错误。这种情况下,强烈建议改用第一种回复中提到的 AK/SK 机制,AK/SK 签名认证可以绕过 web 端的 MFA 限制,更适合自动化脚本。