OAuth 2.0
FlowForce Server gestattet nun die Erstellung von Anmeldeinformationsobjekten für die OAuth 2.0-Autorisierung. Sie können OAuth 2.0-Anmeldeinformationen in FlowForce Server-Aufträgen verwenden, in denen Webservices, für die OAuth 2.0 erforderlich ist, aufgerufen werden. Benutzer können OAuth-Anmeldeinformationen nur dann anzeigen oder aufrufen, wenn Sie die entsprechenden Berechtigungen haben, siehe Funktionsweise von Berechtigungen.
Um OAuth 2.0-Anmeldeinformationen zu erstellen, navigieren Sie zu dem Container, in dem die Anmeldeinformationen gespeichert werden sollen, klicken Sie auf Erstellen | Anmeldeinformationen erstellen, wechseln Sie im Feld Typ der Anmeldeinformationen zu OAuth 2.0 und füllen Sie die Felder der Anmeldeinformationen aus (Beschreibung siehe unten).
Info zum OAuth 2.0 Workflow
OAuth steht für Open Authorization und ist ein offenes Autorisierungsprotokoll, das Applikationen im Namen eines Benutzers den Zugriff auf bestimmte Benutzerressourcen gestattet. Der OAuth 2.0 Workflow ist in groben Zügen der folgende:
1.Eine Drittanbieter-Applikation (Client) wird bei einem Authorization Server registriert. Der Authorization Server vergibt eine Client-ID und gegebenenfalls ein Client Secret.
2.Der Client gibt eine Redirect URI (Umleitungs-URI) an, an die ein Benutzer weitergeleitet wird, nachdem er dem Client die Berechtigung dazu erteilt oder verwehrt hat.
3.Der Benutzer initiiert in der Client-Applikation eine Aktion, für die Zugriff auf die Ressourcen des Benutzers benötigt wird. So könnte sich der Benutzer etwa über sein Facebook-Konto bei der Client-Applikation anmelden.
4.Der Client sendet einen Request an den Authorization Server und leitet den Benutzer an den Autorisierungsendpunkt des Authorization Servers um, wo sich der Benutzer anmeldet und dem Client die Berechtigung erteilt oder verwehrt. Der Client Request an den Authorization Server enthält die Client-ID, die benötigten Rechte und die Redirect URI.
5.Wenn der Benutzer dem Client die Berechtigung erteilt hat, erhält der Client einen Authorization Grant und sendet die Anmeldeinformationen des Benutzers oder die Autorisierungsinformationen (dies ist vom Grant-Typ abhängig) für ein Access Token und, falls nötig, ein Refresh Token.
6.Mit Hilfe dieses Access Tokens erhält der Benutzer anschließend Zugriff auf die Ressourcen des Benutzers auf dem Ressourcen-Server.
7.Falls das Access Token abgelaufen ist, kann der Client mit Hilfe des Refresh Tokens weiterhin auf die Ressourcen des Benutzers zugreifen, ohne dass sich der Benutzer erneut authentifizieren muss. Ob der Client das Refresh Token verwendet oder nicht, hängt vom ausgewählten Grant Type ab. Nähere Informationen dazu finden Sie weiter unten unter Access Token.
Verfügbare Parameter
Unten sehen Sie eine Liste der mit einem OAuth 2.0-Anmeldeinformationsobjekt verknüpften Felder. Um diese Werte zu erhalten, müssen Sie sich zuerst bei einem Webservice-Anbieter (z.B. Google API Console, FaceBook API, BitBucket API) registrieren.
OAuth Grant Types geben an, wie eine Client-Applikation (in diesem Fall FlowForce Server) mit dem OAuth-Dienst kommuniziert und ein Access Token erhält. Die folgenden Grant Types werden unterstützt:
•Passwort-Anmeldeinformationen des Ressourcenbesitzers
Je nachdem, welcher Grant Type ausgewählt wurde, stehen unterschiedliche Eigenschaften zur Verfügung. Nähere Informationen zu den einzelnen Eigenschaften finden Sie in den Optionen weiter unten.
|
Ein Autorisierungsendpunkt ist eine URI, an die der Eigentümer einer Ressource (d.h. ein Benutzer) umgeleitet wird, um die Authentifizierung, Einwilligung und Autorisierung zu initiieren. Der Autorisierungsendpunkt wird von einem Authorization Server bereitgestellt. Wenn FlowForce Server Zugriff auf die Ressourcen des Benutzers erhalten will, leitet FlowForce Server den Browser des Benutzers an den Autorisierungsendpunkt weiter. Nach erfolgter Authentifizierung entscheidet der Benutzer, ob er FlowForce Server die Berechtigung erteilen oder verwehren will. Im Anschluss daran leitet der Authorization Server den Benutzer an den im Parameter Redirect URI definierten Pfad weiter.
Sie können den Autorisierungsendpunkt abrufen, nachdem Sie sich beim Webservice-Anbieter registriert haben.
|
Ein Token-Endpunkt ist eine Adresse, an die eine Client-Applikation (in diesen Fall FlowForce Server) einen Request sendet, um im Austausch gegen bestimmte Anmeldeinformationen oder Autorisierungsinformationen ein Access Token zu erhalten. Sie erhalten diesen Wert, nachdem Sie sich beim Webservice-Anbieter registriert haben.
|
Eine Client-ID ist ein eindeutige öffentliche ID einer Client-Applikation (in diesem Fall von FlowForce Server. Die Client-ID wird von einem Authorization Server vergeben. Anhand der Client-ID und des Secret (Beschreibung siehe unten) überprüft der Authorization Server die Identität des Client. Sie erhalten diesen Wert, nachdem Sie sich beim Webservice-Anbieter registriert haben.
|
Ein Client Secret ist eine vertrauliche Information, anhand der sich eine Client-Applikation (in diesem Fall FlowForce Server) authentifiziert. Das Client Secret wird von einem Authorization Server ausgestellt. Anhand der Client-ID und des Client Secret überprüft der Authorization Server die Identität des Client. Mit Hilfe des Client Secret wird verhindert, dass sich nicht autorisierte Applikationen als der Client ausgeben und auf die Ressourcen des Benutzers zugreifen. Sie können das Client Secret abrufen, nachdem Sie sich beim Webservice-Anbieter registriert haben.
|
Mit dem Geltungsbereich wird definiert, welche Art von Zugriff ein Client (in diesem Fall FlowForce Server) auf die Ressourcen eines Benutzers erhält (z.B. Lese- und Schreibrechte). Sie erhalten diesen Wert, nachdem Sie sich beim Webservice-Anbieter registriert haben.
|
Beim Access Token handelt es sich um Daten, die der Client (d.h. FlowForce Server) nach erfolgreich abgeschlossener Autorisierung vom Authorization Server erhält. Mit Hilfe des Access Tokens kann FlowForce Server auf die Ressourcen des Benutzers zugreifen. Der FlowForce Server-Auftrag kann nur dann erfolgreich ausgeführt werden, wenn der Resource Server das Access Token als korrekt und gültig erkennt. Um diesen Wert beim ersten Mal, wenn Sie OAuth-Anmeldeinformationen erstellen, manuell abzurufen, geben Sie alle Autorisierungsinformationen an (mit Ausnahme des Refresh Token) und klicken Sie anschließend auf Autorisieren und speichern.
Wie Token aktualisiert werdenDas Access Token verliert nach einer bestimmten vom Webservice-Anbieter festgelegten Zeit seine Gültigkeit. Die Methode zur Aktualisierung von Token kann je nach Grant Type unterschiedlich sein. Wenn Sie den Autorisierungscode oder "Impliziter Grant Type" ausgewählt haben und das Token abgelaufen ist, fordert FlowForce Server mit Hilfe des Refresh Token-Werts ein neues vom Authorization Server an (siehe unten).
Wenn Sie den Grant Type "Client-Anmeldeinformationen" oder "Passwort-Anmeldeinformationen des Ressourcenbesitzers" ausgewählt haben und das Token abgelaufen ist, versucht FlowForce Server durch Senden eines Request an den Token-Endpunkt ein neues Token abzurufen. Damit das Token erfolgreich abgerufen werden kann, müssen alle benötigten Autorisierungsinformationen angegeben werden (z.B. Client-ID, Client Secret, usw.).
|
Access Tokens (siehe oben) haben aus Sicherheitsgründen nur eine kurze Gültigkeitsdauer. Diese Gültigkeitsdauer wurde vom Authorization Server festgelegt. Wenn der Authorization Server Refresh Tokens unterstützt, stellt er während der Autorisierung zusammen mit dem Access Token ein Refresh Token aus. Nähere Informationen zur Aktualisierung von Token finden Sie weiter oben unter Access Token.
|
Die Felder Benutzername und Passwort stehen zur Verfügung, wenn Sie als Grant Type Passwort-Anmeldeinformationen des Ressourcenbesitzers auswählen. Bei diesem Grant Type erhält die Client-Applikation direkt gegen die Benutzer-Anmeldeinformationen (Benutzername und Passwort) ein Access Token und optional ein Refresh Token. Sobald der Client die Anmeldeinformationen des Benutzers erhält, sendet er einen POST Request an den Authorization Server. Wenn der Request erfolgreich ist, stellt der Authorization Server ein Access Token aus, über das der Client auf die Ressourcen des Benutzers zugreifen kann.
|
Eine Redirect URI (Umleitungs-URI) ist die Adresse, unter der Sie auf FlowForce Server zugreifen und an die der Authorization Server den Benutzer umleitet, nachdem dieser dem Client (d.h. FlowForce Server) die Berechtigung dazu erteilt oder verwehrt hat. Dies ist auch die Adresse, an die der Authorization Server den für den Erhalt eines Access Tokens erforderlichen Autorisierungscode sendet. Dieses Feld wird automatisch von FlowForce Server ausgefüllt.
Stellen Sie sicher, dass Sie die Redirect URI kopieren und auf der Plattform, auf der Sie Ihre Client-Applikation registrieren, zur Liste der zulässigen Redirect URI hinzufügen. Da FlowForce Server von verschiedenen Adressen und Ports aus aufgerufen werden kann, müssen alle diese URIs zur Liste der zulässigen Redirect URIs hinzugefügt werden.
|
Mit Client-Authentifzierung wird der Vorgang bezeichnet, bei dem die Identität einer Client-Applikation (d.h. FlowForce Server) von einem Authorization Server überprüft wird. Der Authorization Server entscheidet anschließend, ob der Client die Berechtigung dazu erhält, ein Access Token vom Token-Endpunkt abzurufen, bzw. ob diese Berechtigung verwehrt wird. Mit Hilfe der Client-Authentifizierung wird sichergestellt, dass der Authorization Server nur dazu berechtigten Clients ein Access Token ausstellt.
Für die meisten OAuth 2.0 Authorization Server müssen die Authentifizierungsinformationen im POST Request AUTH Header übermittelt werden. Einige OAuth 2.0 Authorization Server akzeptieren Authentifizierungsinformationen nur im Body des POST Request. Wählen Sie die gewünschte Option je nach Anforderung des Authorization Servers aus der Dropdown-Liste aus.
|
Nähere Informationen zu den "Verwendung gestatten"-Optionen finden Sie unter Anmeldeinformationstyp: Passwort. Stellen Sie bei Auth 2.0-Anmeldeinformationen, die Sie für HTTP verwenden möchten, sicher, dass das Kontrollkästchen Verwendung für HTTP gestatten aktiviert ist. Andernfalls schlägt der Auftrag fehl.
Nachdem Sie den gewünschten Grant Type ausgewählt und die nötigen Felder ausgefüllt haben, können Sie die Anmeldeinformationen einfach speichern (Schaltfläche Speichern) oder die Autorisierung starten und das Anmeldeinformationsobjekt speichern (Schaltfläche Autorisieren und speichern). Wenn Sie die Option Autorisieren und speichern wählen, leitet FlowForce Server den Browser an die Autorisierungsseite des Diensts weiter (betrifft nur die Grant Types Autorisierungscode und Implizit) oder versucht, ein Access Token von einem externen Dienst abzurufen und speichert das Access Token zusammen mit den Änderungen am Anmeldeinformationsobjekt. Nach Erhalt des Access Tokens und gegebenenfalls des Refresh Tokens wird die Anmeldeinformationsseite aktualisiert und informiert Sie darüber, dass die Autorisierung erteilt wurde.