Authentication
eKuiper support JWT RSA256
authentication for the RESTful management APIs since 1.4.0
if enabled . Users need put their Public Key in etc/mgmt
folder and use the corresponding Private key to sign the JWT Tokens. When user request the RESTful apis, put the Token
in http request headers in the following format:
go
Authorization: XXXXXXXXXXXXXXX
If the token is correct, eKuiper will respond the result; otherwise, it will return http 401
code.
JWT Header
json
{
"typ": "JWT",
"alg": "RS256"
}
JWT payload
The JWT Payload should use the following format
field | optional | meaning |
---|---|---|
iss | false | Issuer , must use the same name with the public key put in etc/mgmt |
aud | false | Audience , must be eKuiper |
exp | true | Expiration Time |
jti | true | JWT ID |
iat | true | Issued At |
nbf | true | Not Before |
sub | true | Subject |
There is an example in json format
json
{
"iss": "sample_key.pub",
"adu": "eKuiper"
}
When use this format, user must make sure the correct Public key file sample_key.pub
are under etc/mgmt
.
JWT Signature
need use the Private key to sign the Tokens and put the corresponding Public Key in etc/mgmt
.