ABES/Objects

Bedienungsanleitungen, Dokumentationen, Lern-Videos

06 Authentifizierung beim OData-Service

Jeglicher Zugriff auf die Daten der ABES/Objects-OData-Schnittstelle mit Ausnahme des Zugriffs auf die Metadaten erfordert eine gültige Authentifizierung gegenüber dem Web-Service.

Für die Server-Anmeldung und ggf. auch die explizite Abmeldung stehen verschiedene Funktionen bereit, die in den nächsten Abschnitten beschrieben werden.

 

  1. Anforderung eines Authentifizierungs-Tokens (Anmeldung)
  2. Benutzung des Authentifizierungs-Tokens
  3. Überprüfung eines Authentifizierungs-Tokens
  4. Explizite Abmeldung vom Web-Service

1. Anforderung eines Authentifizierungs-Tokens (Anmeldung)

Die Anmeldung beim ABES/Objects-OData-Service erfolgt mittels eines technischen Users mit Hilfe der Funktion “ServerLogin”.
Bei Aufruf der Funktion werden Nutzername und Passwort in der Form name:pwd, Base64 codiert übergeben.
Zusätzlich wird ein Schlüssel zur Identifikation der Client-Anwendung (“ApiKey”) benötigt. Dieser wird in AbesObjects angelegt und verwaltet.
Die Übergabe beider Angaben erfolgt über den Header des Requests.

Es ist unbedingt darauf zu achten, dass Funktionsname und Parameterbezeichnung case-sensitiv angegeben werden.

Request

Header    

Authorization: bmFtZTpwd2Q=

Header    

ApiKey: FFFA879155A4491D9EA4B9DD378F2E30

GET

http://test.server.de/odata/ServerLogin

Rückgabe/Response

Im Fall, das der Anmeldevorgang erfolgreich durchgeführt werden konnte, wird zurückgegeben

Response (Status=200)

{

  “VersionOData”: “2.1.3”,

  “VersionFramework”: “2.0.0.10215”,

  “VersionDBfound”: “110206”,

  “VersionDBrequired”: “10206”,

  “value”: “dfe6516ddcc54bf58f099321acdff020”

}

 

Der Wert aus dem Feld “value” stellt das Authentifizierungs-Token dar, das in allen nachfolgenden Abfragen verwendet werden muss.

Die anderen Elemente geben Auskunft über die Versionen der verwendeten Odata-Schnittstelle, des Backend-Framworks und der aktiven Datenbank.
Außerdem wird die für das Backend-Framework benötigte Datenbank-Version ausgegeben.

Für den Fall, dass ein Fehler aufgetreten ist, wird ein Fehler Objekt zurückgegeben. Im folgenden Beispiel wurde ein falsches Passwort verwendet:

Response (Status=401)

{

  “error”: {

    “code”:    401,

    “message”: “Serveranmeldung ist fehlgeschlagen. Benutzername oder Kennwort

                ist ungültig.”

  }

}

2. Benutzung des Authentifizierungs-Tokens

Das im vorherigen Abschnitt erstellte Authentifizierungs-Token muss clientseitig gespeichert werden, da es bei allen nachfolgenden Abfragen immer wieder im Http-Request angegeben werden muss. Bei weiteren Requests muss das Token im Header mit übergeben werden.

Request

Header    

Authorization: AbesObjects dfe6516ddcc54bf58f099321acdff020

GET

http://test.server.de/odata/Person?$top=5

 

Nach jeder Abfrage ist der Http-Statuscode zu prüfen, da die Gültigkeitsdauer der Authentifizierungs-Token durch den OData-Service beschränkt werden kann (sessionTimeoutMinutes, siehe “Hinweise für Backend-Entwickler”). Auch unabhängig davon kann ein bestehendes Authentifizierungs-Token ungültig werden, falls die OData-Schnittstelle auf Server-Seite neu gestartet werden (muss) – bspw. aufgrund von Wartungsarbeiten. Ein neues Token muss in einem solchen Fall neu angefordert werden.

3. Überprüfung eines Authentifizierungs-Tokens

Für eine schnelle und einfache Überprüfung der Gültigkeit eines vorliegenden Token steht eine eigene Funktion “CheckAuthentication” zur Verfügung.
Dabei muss das (zu prüfende) Authentifizierungs-Token in einer der vorstehend beschriebenen Formen übergeben werden.

Request

GET

http://test.server.de/odata/ CheckAuthentication()

Falls das genutzte Token nicht (mehr) gültg ist, erhält man in der Response den Statuscode 401 (Unauthorized) – andernfalls 200 (Ok).

4. Explizite Abmeldung vom Web-Service

Um die Serveranmeldung explizit ungültig zu machen, kann die Funktion “ServerLogout” verwendet werden. Dies ist zu empfehlen, wenn eine Clientanwendung beendet wird.

Die Funktion “ServerLogout” erwartet keine Parameter.

Request

GET

http://test.server.de/odata/ServerLogout()

Auch für die Abmeldung muss ein gültiges Authentifizierungs-Token in einer der beschriebenen Formen übergeben werden.

 

 

Die Bildschirmfotos können in aktuellen Programmversionen visuell abweichen.

Sie haben Fragen oder Anregungen? Schreiben Sie uns gerne an support@rackow-software.de