使用JWT流程設定並使用您組織的自訂OAuth 2應用程式
為了與Workfront整合併允許您的使用者端應用程式代表使用者與Workfront通訊,您必須:
- 建立Oauth2應用程式
- 建立公開金鑰憑證
- 建立JSON Web權杖(JWT)
建立Oauth2應用程式
如需建立OAuth2應用程式的指示,請參閱 使用伺服器驗證(JWT流程)建立OAuth2應用程式 在 為Workfront整合建立OAuth2應用程式
NOTE
您一次最多可以有十個OAuth2應用程式。
建立公開金鑰憑證
JWT必須經過簽署並以base-64編碼,才能納入存取請求中。 JWT程式庫會提供執行這些工作的功能。
必須使用數位簽署憑證的私密金鑰簽署權杖。 如果這樣做,您可以使用任何關聯憑證的私密金鑰來簽署您的JWT。
使用的演演算法為RS256 (使用SHA-256的RSA簽名)。 這是非對稱演演算法,且使用公開/私密金鑰組。 身分提供者擁有用來產生簽章的私人(秘密)金鑰,而JWT的消費者則取得用來驗證簽章的公開金鑰。
若要產生公開金鑰,請執行 一 下列專案中的。
-
開啟您的MacOS/Linux終端機,執行以下命令,然後上傳
certificate_pub.crt
使用 新增公開金鑰 按鈕(在Workfront中的OAuth2應用程式設定中)。code language-none openssl req -x509 -sha256 -nodes -newkey rsa:2048 -keyout private.key -out certificate_pub.crt
-
使用 產生公用/私用金鑰組 按鈕(在Workfront中的OAuth2應用程式設定中)來產生RSA。
建立JSON Web權杖
服務帳戶驗證的JSON Web權杖需要一組特定的宣告,且必須使用有效的數位簽署憑證簽署。 建議您使用其中一個公開可用的資料庫或工具來建置JWT。
下表包含設定JWT權杖時所需欄位的相關資訊。
交換JWT以擷取存取權杖
-
傳送POST要求至:
code language-none https://yourdomain.my.workfront.com/integrations/oauth2/api/v1/jwt/exchange
-
請求內文應包含URL編碼的引數,以及您的使用者端ID、使用者端密碼和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