INHALTSVERZEICHNIS


OAuth2.0 ist ein Anmeldeverfahren, welches erlaubt, auf eine Anwendung zuzugreifen, ohne dass ein Passwort weitergegeben werden muss. Ihr meldet euch dabei bei einem sogenannten "Authoritätsdienst" an, welcher dann ein Zugangsticket (Token) ausstellt. In diesem Fall ist euer d.vinci System der "Authoritätsdienst". Dieser Token erlaubt es der Anwendung auf bestimmte Daten zuzugreifen, ohne dass in die Anwendung ein Passwort eingegeben wurde.


Der Vorteil von OAuth2.0 ist, dass die Authentifizierung und die Funktionalität voneinander getrennt werden können. Ein Nutzer kann z. B. mit System A einen Token generieren, diesen dann sicher an System B übertragen und dort nutzen. System B braucht das Passwort also nicht zu kennen.


OAuth2.0 unterstützt verschiedene "Flows" (Prozesse). Aktuell haben wir den Client Credentials Flow umgesetzt, der speziell für die Maschine-zu-Maschine-Kommunikation gedacht ist. Andere Flows werden aktuell nicht unterstützt.


Benötigte Berechtigung

  • API Benutzer | sehen/bearbeiten/anlegen/löschen


Gehe wie folgt vor


1. Umstellung eines API-Benutzers auf oAuth2.0

Wichtig hierbei: wähle einen API-Benutzer aus, der nur die benötigten Berechtigungen hat. 

  1. Öffne die Seite Benutzer. Eine Liste aller Benutzer wird angezeigt.
  2. Drücke auf den API-Benutzer, bei welchem du OAuth2 aktivieren möchtest. Die Seite Benutzer mit den Einstellungen für den Benutzer wird angezeigt.
  3. Drücke auf eines der Bearbeitungs-Symbole  , um die Daten zu bearbeiten.
  4. Aktiviere die Option Oauth2.
  5. Gib im Feld Access Token TTL (Minuten) ein, wie viele Minuten der generierte Token gültig sein soll.
  6. Drücke auf den Button Aktualisieren, um die Änderungen zu speichern.


2. Generierung eines API-Tokens

Der API-Token wird als "client_secret" benötigt und ist zusammen mit der "client_id" (Benutzername des API-Benutzers) ein eindeutiger Identifikator für den API-Benutzer. Es wird in der nächsten Phase genutzt, um den Access Token anzufordern.

  1. Drücke auf den roten Button API-Token generieren. Das gleichnamige Fenster öffnet sich im Vordergrund.
  2. Drücke auf den Button API-Token generieren. Im Fenster wird ein Code angezeigt.
  3. Kopiere den API-Token manuell und speichere ihn an einem Ort, wo du ihn jederzeit wiederfindest.


3. Anfordern des Access Tokens

Mit der Kombination aus client_id (API-Benutzername) und client_secret (API-Token) authentifiziert sich der API-Benutzer beim OAuth2.0-Server. Dieser prüft die Angaben und stellt bei erfolgreicher Prüfung einen Access Token aus.

Kommandozeilenbeispiel (curl):

curl -X POST "https://jobboerse.beispielkunde.com/plt/oauth2/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "client_id=<insert api username>" \
-d "client_secret=<insert api user token>"


4. API-Aufruf mit Access Token

Verwende den Access Token, um Anfragen an die REST-API oder OData-Schnittstelle zu stellen.

Kommandozeilenbeispiel (curl):

curl -X GET "https://jobboerse.beispielkunde.com/restApi/dvinciUsers/" \
-H "Authorization: Bearer <insert token>" \
-H "Content-Type: application/json"