Authentication

如果使能的话, eKuiper 从 1.4.0 起将为 RESTful API 提供基于 JWT RSA256 的身份验证。用户需要将他们的公钥放在 etc/mgmt 文件夹中,并使用相应的私钥来签署 JWT 令牌。 当用户请求 RESTful API 时,将 Token 放在 http 请求头中,格式如下:

  1. AuthorizationXXXXXXXXXXXXXXX

如果token正确,eKuiper会响应结果;否则,它将返回 http 401 代码。

JWT Header

  1. {
  2. "typ": "JWT",
  3. "alg": "RS256"
  4. }

JWT Payload

JWT Payload 应使用以下格式

字段 是否可选 意义
iss 颁发者 , 此字段必须与etc/mgmt目录中的相应公钥文件名字一致
aud 颁发对象 , 此字段必须是 eKuiper
exp 过期时间
jti JWT ID
iat 颁发时间
nbf Not Before
sub 主题

这里有一个 json 格式的例子

  1. {
  2. "iss": "sample_key.pub",
  3. "adu": "eKuiper"
  4. }

使用此格式时,用户必须确保正确的公钥文件 sample_key.pub 位于 etc/mgmt 下。

JWT Signature

需要使用私钥对令牌进行签名,并将相应的公钥放在 etc/mgmt 中。