Die Authentifizierung ist der erste Schritt der programmatischen Beschaffung eines JSON-Web-Tokens zur Verwendung mit der API.
- Endpunkt:
/cloud-service-auth/auth
- Methode:
POST
- Body:
{ name, // your@mail.com password, lifetime: 1800000, // millis -> 30mins code: null, termsOfUse: null // TODO }
JavaScript (NodeJS) Beispiel:
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()); };
Authorisierung
Mit dem aus der Authentifizierungsanforderung resultierenden Token können wir nun dieses Token erweitern, um ein Token mit einem Kontext zu erhalten, das bei weiteren API-Anforderungen verwendet werden kann.
- Endpunkt:
/cloud-service-auth/auth
- Methode:
POST
- Body:
{ accountIds: [ /* list of account UUIDs */ ] }
JavaScript (NodeJS) Beispiel:
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"); } }); };