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 .
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.
Exchange the JWT to retrieve an access token
-
Skicka en begäran om POST till:
code language-none https://yourdomain.my.workfront.com/integrations/oauth2/api/v1/jwt/exchange
-
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}