Authentifizierung
Authentifizierung ist ein wesentlicher Bestandteil moderner Webanwendungen, da sie sicherstellt, dass nur autorisierte Benutzer und Anwendungen auf sensible Daten und Funktionen zugreifen können.
In der reisewitz Welt wird dabei der OAuth 2.0 Standard eingesetzt. OAuth 2.0 ist ein weit verbreitetes Autorisierungsframework, das es ermöglicht, dass Drittanbieteranwendungen sicher auf Ressourcen zugreifen können. Zur Anbindung der adelo® Schnittstelle setzen wir den OAuth 2.0 Client Credential Flow ein. Dabei wird zum Datenabruf in REST-API ein Accesstoken angefordert.
Schaubild Client Credential Flow
Abrufen des Access Tokens
Um einen Access Token zu erhalten, muss die Anwendung (Client) eine Anfrage an den Authentifizierungsserver senden. Diese Anfrage muss die ClientID, das ClientSecret und die gewünschten Scopes enthalten. Die Scopes definieren den Umfang der Zugriffsrechte, die die Anwendung benötigt.
Beispielanfrage:
client_id: Die eindeutige Kennung Ihrer Anwendung, die vom Authentifizierungsserver bereitgestellt wird.
client_secret: Ein geheimer Schlüssel, der Ihrer Anwendung zugewiesen wurde und sicher aufbewahrt werden muss.
grant_type: Für den Credential Flow muss dieser Wert auf client_credentials gesetzt sein.
scope: Eine durch Leerzeichen getrennte Liste von Berechtigungen, die Ihre Anwendung anfordert.
Diese Informationen erhalten Sie bei unserem adelo® Consulting Team.
Beispielantwort:
access_token: Der Token, der für den Zugriff auf geschützte Ressourcen verwendet wird.
token_type: Typ des Tokens, in diesem Fall Bearer.
expires_in: Die Gültigkeitsdauer des Tokens in Sekunden.
scope: Die tatsächlich gewährten Berechtigungen.
Zugriff auf die API mit dem Access Token
Sobald der Access Token erfolgreich abgerufen wurde, kann er verwendet werden, um auf geschützte API-Ressourcen zuzugreifen. Der Token muss als Teil des Authorization Headers in jeder Anfrage an die API gesendet werden.
Beispielanfrage an die API:
Authorization: Der Header muss den Access Token im Format Bearer YOUR_ACCESS_TOKEN enthalten.
Beispielantwort der API:
data: Die geschützten Daten, die von der API zurückgegeben werden.