- Drucken
OAuth2.0 Konfiguration und technische Details
In diesem Artikel werden wir uns mit den technischen Details befassen, wie Tulip OAuth für die Connector-Authentifizierung implementiert. OAuth ist leistungsfähig, aber es bringt auch eine gewisse Komplexität mit sich. Dieser Leitfaden soll alle technischen Fragen dazu beantworten, was Tulip unterstützt und wie es integriert ist.
Hinweis: Der Ablauf der Client Credentials unterscheidet sich etwas vom Ablauf des Autorisierungscodes. Die Schritte 1 und 2 sind für den Client Credentials Flow nicht relevant.
Tulip Autorisierungscode-Ablauf
The Authorize and Token endpoints must be accessible to the cloud for Tulip to execute authentication for connectors
Tulip initiiert den Authentifizierungsprozess, wenn ein Connector getestet oder eine Connector-Funktion innerhalb einer Anwendung ausgeführt wird.
1. Umleitung zum Autorisierungsserver:
Die Tulip-Anwendung leitet den Benutzer zum Autorisierungsserver (AS) um, zusammen mit spezifischen Parametern, einschließlich response_type (eingestellt auf "code" für den Autorisierungscodefluss), client_id (zugewiesen in der Connector UI), redirect_uri (vordefiniert von Tulip), scope und audience (eingestellt in der UI) und state (eine zufällige Zeichenkette zum Schutz gegen Cross-Site Request Forgery-Angriffe).
Beispiel:GET /authorize?response_type=code&client_id=CLIENT_ID&redirect_uri=REDIRECT_URI&scope=SCOPE&audience=AUDIENCE&state=STATE
2. Der Benutzer erteilt seine Zustimmung:
Der Autorisierungsserver authentifiziert den Benutzer und zeigt ihm einen Zustimmungsbildschirm an. Der Benutzer kann die angeforderten Berechtigungen überprüfen und entscheiden, ob er den Zugriff auf die Drittanbieteranwendung gewährt oder verweigert.
:::(Warnung) (Hinweis) Innerhalb der Konfiguration eines Give Connectors können Sie mit dem Steuerelement "Skip user consent prompt" das Prompt-Attribut
auf der Autorisierungsanfrage steuern. Wenn dieses Steuerelement deaktiviert ist, wird der Wert consent
verwendet, wenn es aktiviert ist, wird login
verwendet.
Wenn Sie zusätzliche Werte für das Prompt-Attribut benötigen, wenden Sie sich bitte an support@tulip.co, und wir werden weitere Optionen für diese Eigenschaft aktivieren.
:::
3. Autorisierungscode:
Wenn der Benutzer sein Einverständnis gibt, erzeugt der Autorisierungsserver einen Autorisierungscode und leitet den Benutzer zusammen mit dem Autorisierungscode zurück zu Tulip. Der State-Parameter ist ebenfalls enthalten, damit der Client die Integrität der Antwort überprüfen kann. Dieser Zustandsparameter muss mit dem in Schritt 1 übergebenen Zustandsparameter übereinstimmen.
Beispiel für die Weiterleitung an die Redirect-URI des Kunden:
REDIRECT_URI?code=AUTHORIZATION_CODE&state=STATE
4. Token-Anforderung:
Der Client verfügt nun über den Autorisierungscode und verwendet ihn, um eine sichere Server-zu-Server-Anfrage an den Token-Endpunkt des Autorisierungsservers zu stellen. Der Client gibt den grant_type (auf "authorization_code" gesetzt), client_id, client_secret (ein Geheimnis, das nur dem Client und dem Autorisierungsserver bekannt ist), redirect_uri und den Autorisierungscode an.
Beispiel einer Token-Anforderung: