Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Excerpt

Der Auruf der REST-Schnittstellen erfolgt nach einem einheitlichen Prinzip. Dieser Ansatz vereinfacht die Implementierung.

Inhaltsverzeichnis

Table of Contents
maxLevel6
minLevel1
include
outlinefalse
indent
excludeInhaltsverzeichnis
typelist
printablefalse
class

...

...

Request

...

Der Aufruf der REST-Schnittstelle ähnelt bei jedem OSB-Dienst und hat folgenden Aufbau der URL:

...

Parameter

Bedeutung

SERVICEID

Stellt den OSB-Dienst dar. Dies ist nicht notwendigerweise die AppID des Dienstes.

Beispiele: emm, hreflangCollector, images, pagespeedtool, websaleapp2, usw.

ACTION

Wir Wird dem OSB-Dienst als Parameter übergeben und der Dienst reagiert kann dann entsprechend reagieren.

Wenn ein Dienst eine Aktion nicht kennt, sollte immer ein HTTP-Fehlercode 400 (Bad Request) zurückgegeben werden.

...

Code Block
"isrest=yes&action=ACTION"

Damit die URL funktioniert, wird von der WEBSALE Technik eine entsprechende RewriteRule eingebunden:

...

Beispiele: changeemail, start, cancel, publish, build, send, usw.

Authentifizierung

Es ist bei jedem OSB-Dienst wichtig, dass der User sich zuerst authentifiziert und dem Aufruf einen Token mitgibt. Wie ein Token beim Authentserver erzeugt wird, ist in der Dokumentation "REST Authentifizierung" beschrieben:

REST-Authentifizierung

Token

Der Token ist ein “JSON Web Token” (JWT) und besteht aus 3 Teilen:

...

Für weitere Informationen zu JWT kann die offizielle Webseite besucht werden: https://jwt.io

Info

Der generierte Token ist nur für einen Zeitraum von 30 Minuten gültig. Sobald dieser nicht mehr gültig ist, geben alle Anfragen den Statuscode 401 zurück. Ist dies der Fall muss ein neuer Token generiert werden.

REST-Anfrage an Dienst

Jeder Dienst mit einer REST-Schnittstelle muss über eine spezielle REST-kompatible URL aufrufbar sein.

...

Code Block
languagexml
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 zwingend Adminberechtigungen haben.

Um Missbrauch vorzubeugen, muss dieses Konto spezielle Regeln befolgen:

  1. Das Konto darf nur vom internen System auf die REST-Schnittstelle zugreifen.

  2. Das Konto darf nur über das REST-Interface mit dem AuthentServer kommunizieren.

Damit die Regeln befolgt werden, muss eine Konfigurationsdatei rest.cfg erstellt werden, die folgende Sektion beinhaltet:

Code Block
<+REST-User>
   PersNr = 0000000       # Personennummer des Users
   AllowBrowserLogin = no # yes/no, Flag ob Konto sich über Browser im OSB einloggen kann
   +IPAllowed = 123.123.123.123 # IP-Adresse über die Request erlaubt ist
   +IPAllowed = 123.123.124.*	# Möglich ein IP-Block anzugeben (* nur letzter Block möglich)
</+REST-User>

tt

Include Page
Haftungsausschluss/Disclaimer
Haftungsausschluss/Disclaimer