Bei jedem Zugriff werden die Zugriffsrechte des anfragenden Benutzers geprüft, daher ist eine Authentifizierung notwendig um die REST-API zu verwenden. Dieser Ansatz ist in unserer Applikation bereits vorhanden (Jwt) und wird von den Schnittstellen zu Go Mobile Pro und BusinessMail4Outlook verwendet. Es wird ein Token erzeugt, welches im Standard (über Customer.Config Parameter anpassbar) 20 Minuten lang gültig ist und welches im Authorization-Header (Schema: Bearer) mit allen folgenden Requests mitgesendet werden muss.


Endpunkt: /api/auth/login
Die Authentifizierung erfolgt als POST-Anfrage an den Endpunkt. Es werden hierbei zwei Methodiken unterstützt:

1. Anfrage mit dem Inhaltstypen (Content-Type) “application/x-www-form-urlencoded”
Hierbei besteht der Inhalt (Body) der Anfrage einfach nur aus den Informationen “Benutzername” und “Passwort”.

username: "user"
password: "pass"


2. Anfrage mit dem Inhaltstypen “application/json”
Hier besteht der Inhalt der Anfrage aus einer einfachen JSON-Struktur, die die gleichen Informationen beinhaltet.

{
    "username": "user",
    "password": "pass"
}


Endpunkt: /api/auth/renew
Für bereits angemeldete Benutzer besteht über diesen Endpunkt die Möglichkeit das Authentifizierungs-Token zu erneuern, bevor es abläuft. Hierfür ist im Inhalt der Anfrage nur die Angabe des Benutzernamens nötig. Das bisherige Token muss natürlich im Autorization-Header mitgesendet werden.


Beide Endpunkte liefern im Erfolgsfall den http-Status “200 OK” und ein JSON-Objekt mit der Eigenschaft “token” und dem entsprechenden Token als Inhalt zurück.
Schlägt die Authentifizierung mit den gelieferten Daten fehl, so ist der Ergebnisstatus “403 Forbidden”, im Falle von unvorhergesehenen Fehlern serverseitig “500 Internal server error”.


Die Authentifizierung an allen weiteren Endpunkten erfolgt über den Header “Autorization” in jeder Anfrage, die an den Server und an egal welchen Endpunkt der API gestellt wird.

Autorization: "Bearer <token>"