...
Die REST-Schnittstelle dient dazu, einen beliebigen OSB-Dienst automatisiert aufzurufen.
Token
Der Token ist ein “JSON Web Token” (JWT) und besteht aus 3 Teilen:
Header: Hier steht, mit welchem Algorithmus die Signatur verschlüsselt ist sowie die Art des Token.
Payload: Hier stehen alle Informationen, die bei einem CGI-Aufruf im Context stehen. Zusätzlich ist ein Timestamp enthalten, der angibt, wie lang der Token gültig ist.
Signatur: Die Signatur ist ein verschlüsselter Hash, der aus dem Header und dem Payload besteht. Das dazugehörige Passwort steht in der dbcgi.cfg unter Global → RestPassword.
Für weitere Informationen zu JWT kann die offizielle Webseite besucht werden: https://jwt.io
REST-Anfrage an Dienst
Jeder Dienst mit einer REST-Schnittstelle muss über eine spezielle REST-kompatible URL aufrufbar sein.
Dieser Aufruf verweist auf die entsprechende CGI.
Zudem muss im Request-Header zusätzlich der Token angegeben werden.
Code Block | ||
---|---|---|
| ||
X-Authorization: Bearer TOKEN |
Fehlerbehandlung
Wenn ein Problem entsteht, muss ein zum Vorfall passender HTTP-Code zurückgegeben werden.
So muss immer der HTTP-Code 401 zurückgegeben werden, wenn der User auf eine Ressource ohne einen gültigen Token zugreifen möchte.
Shopzugriff
Da auch Requests aus dem Shop ausgeführt werden, wird ein für den Zweck benötigter User existieren. Dieser User muss, damit nicht für jeden Dienst und Kunden Extraaufwand durch das Hinzufügen von Rechten entstehen, Adminberechtigungen haben.
...