Skip to content

自定义 JWT

在 Atlas 中调用 API 时,通常先调用登录接口获取 JWT。当前 Atlas 使用 HS256 和配置文件里的 jwt_secret 对 JWT 进行签名,不再依赖公私钥文件。

当前签名方式

  • 算法:HS256
  • 签名密钥:atlas.conf[agent].jwt_secret
  • 过期时间:atlas.conf[agent].jwt_expire_sec

推荐的载荷字段

Atlas 登录接口签发的 token 默认包含如下字段:

json
{
  "user": "root",
  "iss": "EMQ Technologies Co., Ltd All rights reserved.",
  "iat": 1679622798,
  "exp": 1679626398
}

当前服务端会校验:

  • Bearer Token 格式是否正确
  • 签名算法是否为 HS256
  • 签名是否能被当前 jwt_secret 验证
  • exp 是否已过期

自行生成 JWT

如果需要自己签发 token,请使用与 Atlas 相同的 jwt_secret

例如使用 jwt.io

  • Algorithm:HS256
  • Payload:可参考上面的字段
  • Verify Signature:填写同一个 jwt_secret

TIP

如果修改了 jwt_secret,之前已经签发的 token 会立即失效。