Benutzerdefinierte OAuth 2-Anwendungen Ihres Unternehmens mithilfe des JWT-Flusses konfigurieren und verwenden
Um die Integration mit Workfront zu ermöglichen und die Kommunikation Ihrer Client-App mit Workfront im Namen des Benutzers zu ermöglichen, müssen Sie:
- Erstellen einer OAuth2-Anwendung
- Zertifikat mit öffentlichem Schlüssel erstellen
- JSON-Web-Token (JWT) erstellen
Erstellen einer OAuth2-Anwendung
Anweisungen zum Erstellen der OAuth2-Anwendung finden Sie unter Erstellen einer OAuth2-Anwendung mit Serverauthentifizierung (JWT-Fluss) in Erstellen von OAuth2-Anwendungen für Workfront-Integrationen
Zertifikat mit öffentlichem Schlüssel erstellen
Das JWT muss signiert und base-64-kodiert sein, damit es in die Zugriffsanfrage aufgenommen werden kann. Die JWT-Bibliotheken bieten Funktionen zum Ausführen dieser Aufgaben.
Das Token muss mit dem privaten Schlüssel für ein digitales Signaturzertifikat signiert werden. Wenn Sie dies tun, können Sie den privaten Schlüssel jedes zugehörigen Zertifikats verwenden, um Ihr JWT zu signieren.
Der verwendete Algorithmus ist RS256 (RSA Signature with SHA-256). Dies ist ein asymmetrischer Algorithmus, der ein Schlüsselpaar aus öffentlichem/privatem Schlüssel verwendet. Der Identitätsanbieter verfügt über einen privaten (geheimen) Schlüssel, mit dem die Signatur generiert wird, und der Verbraucher des JWT erhält einen öffentlichen Schlüssel, um die Signatur zu validieren.
Um den öffentlichen Schlüssel zu generieren, führen Sie einen der folgenden Schritte aus.
-
Öffnen Sie Ihr MacOS/Linux-Terminal und führen Sie den folgenden Befehl aus. Laden Sie dann
certificate_pub.crt
über die Schaltfläche Öffentlichen Schlüssel hinzufügen in der OAuth2-Anwendungseinrichtung in Workfront hoch.code language-none openssl req -x509 -sha256 -nodes -newkey rsa:2048 -keyout private.key -out certificate_pub.crt
-
Verwenden Sie die Schaltfläche Generate a public/private keypair in der OAuth2-Anwendungskonfiguration in Workfront, um den RSA zu generieren.
JSON-Web-Token erstellen
Ein JSON-Web-Token für die Authentifizierung von Dienstkonten erfordert einen bestimmten Satz von Ansprüchen und muss mit einem gültigen digitalen Signaturzertifikat signiert werden. Es wird empfohlen, eine der öffentlich verfügbaren Bibliotheken oder Tools zum Erstellen Ihres JWT zu verwenden.
Die folgende Tabelle enthält Informationen zu Feldern, die bei der Konfiguration des JWT-Tokens erforderlich sein können.
JWT ersetzen, um ein Zugriffstoken abzurufen
-
Senden Sie eine POST-Anfrage an:
code language-none https://yourdomain.my.workfront.com/integrations/oauth2/api/v1/jwt/exchange
-
Der Hauptteil der Anfrage sollte URL-kodierte Parameter mit Ihrer Client-ID, dem Client-Geheimnis und JWT enthalten:
code language-none client_id={client_id_value}&client_secret={client_secret_value}&jwt_token={base64_encoded_JWT}