Konfigurera och använda organisationens anpassade OAuth 2-program med JWT-flöde

Om du vill integrera med Workfront och tillåta klientappen att kommunicera med Workfront å användarens vägnar måste du:

  • Skapa ett OAuth2-program
  • Skapa ett certifikat för offentlig nyckel
  • Skapa en JSON-webbtoken (JWT)

Skapa ett OAuth2-program

Instruktioner om hur du skapar OAuth2-programmet finns i Skapa ett OAuth2-program med serverautentisering (JWT-flöde) i Skapa OAuth2-program för Workfront-integreringar .

NOTE
Du kan ha upp till totalt tio OAuth2-program samtidigt.

Skapa ett certifikat för offentlig nyckel

JWT måste signeras och base-64-kodas för att kunna inkluderas i åtkomstbegäran. JWT-biblioteken innehåller funktioner för att utföra dessa åtgärder.

Token måste signeras med den privata nyckeln för ett digitalt signeringscertifikat. Om du gör det kan du använda den privata nyckeln för alla associerade certifikat för att signera din JWT.

Den algoritm som används är RS256 (RSA-signatur med SHA-256). Det här är en asymmetrisk algoritm och använder ett nyckelpar för offentlig/privat nyckel. Identitetsprovidern har en privat (hemlig) nyckel som används för att generera signaturen, och konsumenten av JWT får en offentlig nyckel för att validera signaturen.

Om du vill generera den offentliga nyckeln gör du något av följande.

  • Öppna din MacOS/Linux-terminal och kör följande kommando. Överför sedan certificate_pub.crt med knappen Lägg till offentlig nyckel i OAuth2-programkonfigurationen i Workfront.

    code language-none
    openssl req -x509 -sha256 -nodes -newkey rsa:2048 -keyout private.key -out certificate_pub.crt
    
  • Använd knappen Skapa ett offentligt/privat nyckelpar i OAuth2-programkonfigurationen i Workfront för att generera RSA.

Skapa en JSON-webbtoken

JSON Web Token för autentisering av tjänstkonto kräver en viss uppsättning anspråk och måste signeras med ett giltigt digitalt signeringscertifikat. Vi rekommenderar att du använder ett av de allmänt tillgängliga biblioteken eller verktygen för att skapa en JWT.

Följande tabell innehåller information om fält som kan behövas när du konfigurerar JWT-token.

exp

Obligatoriskt. Parametern expiration är en obligatorisk parameter som mäter den absoluta tiden sedan 1970-01-01. Du måste se till att förfallotiden är senare än tidpunkten för utfärdandet. Efter denna tid är JWT inte längre giltigt.

Obs! Vi rekommenderar att du har en mycket kort token (några minuter), så att den upphör att gälla så snart den har bytts ut mot en åtkomsttoken. Varje gång en ny åtkomsttoken krävs signeras en JWT och byts ut. Detta är ett säkrare tillvägagångssätt. Vi rekommenderar inte längre aktiva token som återanvänds för att få åtkomsttoken efter behov.

is
Obligatoriskt. Utfärdaren är ditt kund-ID från OAuth2-appinformationen.
sub
Obligatoriskt. Ämnet är ditt användar-ID som skapade den offentliga nyckeln i konfigurationen.

Exchange the JWT to retrieve an access token

  1. Skicka en begäran om POST till:

    code language-none
    https://yourdomain.my.workfront.com/integrations/oauth2/api/v1/jwt/exchange
    
  2. Innehållet i begäran ska innehålla URL-kodade parametrar med ditt klient-ID, klienthemlighet och JWT:

    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