Authentication
You need to implement two steps to obtain a JSON Web Token:
- Authentication
- Authorization
Authentication
Authentication is the first step of programmatically obtaining an JSON Web Token to use with the API.
- Endpoint:
/cloud-service-auth/auth - Method:
POST - Body:
{
name, // your@mail.com
password,
lifetime: 1800000, // millis -> 30mins
code: null,
termsOfUse: null // TODO
}
JavaScript (NodeJS) Example
const getInitialToken = () => {
const headers = new fetch.Headers({
"Content-Type": "application/json;charset=UTF-8"
});
return fetch(config.baseurl + "/cloud-service-auth/auth", {
method: "POST",
headers: headers,
body: JSON.stringify({
name,
password,
lifetime: 1800000, // millis -> 30mins
code: null,
termsOfUse: null
})
}).then(resp => resp.json());
};
Authorization
With the resulting token from the Authentication request, we can now upgrade this token to obtain a token with a context, to be used with further API requests.
- Endpoint:
/cloud-service-auth/auth - Method:
POST - Body:
{
accountIds: [ /* list of account UUIDs */ ]
}
JavaScript (NodeJS) Example
const upgradeToken = (initialToken, ids) => {
if (!initialToken.value) {
throw new Error("Missing JWT");
}
const headers = new fetch.Headers({
"Content-Type": "application/json;charset=UTF-8",
"Authorization": "Bearer " + initialToken.value
});
return fetch(config.baseurl + "/cloud-service-auth/auth", {
method: "POST",
headers: headers,
body: JSON.stringify({
accountIds: ids
})
}).then(resp => {
if (resp.ok) {
// do something with the token here
} else {
console.log(resp);
throw new Error("Error upgrading JWT");
}
});
};