Skip to content

Latest commit

 

History

History
48 lines (35 loc) · 1.47 KB

authentication.md

File metadata and controls

48 lines (35 loc) · 1.47 KB

Authentication

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

Authorization:XXXXXXXXXXXXXXX

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

JWT Header

{
  "typ": "JWT",
  "alg": "RS256"
}

JWT Payload

JWT Payload 应使用以下格式

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

这里有一个 json 格式的例子

{
  "iss": "sample_key.pub",
  "adu": "eKuiper"
}

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

JWT Signature

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