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

NOTE
Sie können bis zu zehn OAuth2-Anwendungen gleichzeitig haben.

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.

exp

Erforderlich. Der Ablaufparameter ist ein erforderlicher Parameter, der die absolute Zeit seit dem 1.1.1970 GMT misst. Sie müssen sicherstellen, dass die Ablaufzeit nach dem Zeitpunkt des Problems liegt. Danach ist das JWT nicht mehr gültig.

Hinweis: Es wird empfohlen, ein sehr kurzlebiges Token (einige Minuten) zu verwenden, damit es bald abläuft, nachdem es gegen ein Zugriffstoken ausgetauscht wurde. Jedes Mal, wenn ein neues Zugriffstoken erforderlich ist, wird ein JWT signiert und ausgetauscht. Dies ist ein sichererer Ansatz. Wir empfehlen keine langlebigen Token, die bei Bedarf wiederverwendet werden, um Zugriffstoken zu erhalten.

is
Erforderlich. Der Emittent ist Ihre Kunden-ID aus den OAuth2-App-Details.
sub
Erforderlich. Der Betreff ist Ihre Benutzer-ID, mit der der öffentliche Schlüssel bei der Einrichtung erstellt wurde.

JWT ersetzen, um ein Zugriffstoken abzurufen

  1. Senden Sie eine POST-Anfrage an:

    code language-none
    https://yourdomain.my.workfront.com/integrations/oauth2/api/v1/jwt/exchange
    
  2. 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}
    
recommendation-more-help
5f00cc6b-2202-40d6-bcd0-3ee0c2316b43