使用JWT流程設定並使用您組織的自訂OAuth 2應用程式
為了與Workfront整合併允許您的使用者端應用程式代表使用者與Workfront通訊,您必須:
- 建立Oauth2應用程式
- 建立公開金鑰憑證
- 建立JSON Web權杖(JWT)
建立Oauth2應用程式
如需建立OAuth2應用程式的指示,請參閱建立Workfront整合的OAuth2應用程式中的使用伺服器驗證(JWT流程)建立OAuth2應用程式
NOTE
您一次最多可以有十個OAuth2應用程式。
建立公開金鑰憑證
JWT必須經過簽署並以base-64編碼,才能納入存取請求中。 JWT程式庫會提供執行這些工作的功能。
必須使用數位簽署憑證的私密金鑰簽署權杖。 如果這樣做,您可以使用任何關聯憑證的私密金鑰來簽署您的JWT。
使用的演演算法為RS256 (使用SHA-256的RSA簽名)。 這是非對稱演演算法,且使用公開/私密金鑰組。 身分提供者擁有用來產生簽章的私人(秘密)金鑰,而JWT的消費者則取得用來驗證簽章的公開金鑰。
若要產生公開金鑰,請執行下列其中一個 動作。
-
開啟MacOS/Linux終端機並執行下列命令,然後使用Workfront中OAuth2應用程式設定中的 新增公開金鑰 按鈕上傳
certificate_pub.crt
。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