Workfront 統合用の OAuth2 アプリケーションを作成する
Adobe Workfront 管理者は、Workfront のインスタンス用の OAuth2 アプリケーションを作成して、他のアプリケーションが Workfront にアクセスできるようにします。その後、ユーザーは他のアプリケーションに Workfront データへのアクセス権を付与できます。このようにして、独自の社内アプリケーションなど、選択したアプリケーションと統合できます。
OAuth2 アプリケーションを作成する場合、クライアント ID とクライアントシークレットを生成します。その後、ユーザーは API 呼び出しでクライアント ID を使用して、作成したアプリケーションと統合できます。
- ユーザーの資格情報を使用して OAuth2 アプリケーションを設定および使用する手順(認証コードフロー)については、認証コードフローを使用した、組織のカスタム OAuth 2 アプリケーションの設定および使用を参照してください。
- サーバー認証(JWT フロー)を使用した OAuth2 アプリケーションの設定と使用の手順については、JWT フローを使用した、組織のカスタム OAuth 2 アプリケーションの設定および使用を参照してください。
- PKCE を使用して OAuth2 アプリケーションを設定および使用する手順については、PKCE フローを使用した、組織のカスタム OAuth 2 アプリケーションの設定および使用を参照してください。
アクセス要件
この記事の手順を実行するには、次のアクセス権が必要です。
table 0-row-2 1-row-2 2-row-2 layout-auto html-authored no-header | |
---|---|
Adobe Workfront プラン* | 任意 |
Adobe Workfront ライセンス |
新規:Standard または 現在:Plan |
アクセスレベル設定 | Workfront 管理者である必要があります。 |
この表にある情報についての詳細は、Workfront ドキュメントのアクセス要件を参照してください。
OAuth2 の概要
アプリケーションが Workfront から特定の情報を取得する必要があるとします。情報を要求するアプリケーションは、クライアントと呼ばれます。この例では、クライアント名は ClientApp です。ClientApp は特定のユーザーの情報にアクセスする必要があるため、そのユーザーとして Workfront にアクセスする必要があります。ユーザーが ClientApp にユーザー名とパスワードを付与した場合、ClientApp はユーザーがアクセスできるすべてのデータにアクセスできます。ClientApp は少数の特定の情報セットのみを必要とするため、これはセキュリティ上のリスクとなります。
ClientApp 用の OAuth2 アプリを作成すると、基本的に、ClientApp が Workfront にアクセスできることを Workfront に伝えることになりますが、これは ClientApp がアクセスしているアカウントのユーザーがアクセス許可を与えた場合に限ります。
OAuth2 アプリケーションを作成
OAuth2 アプリケーションを作成する場合、統合のニーズに最適なアプリケーションのタイプを選択します。
サーバー上で実行する CLI、デーモン、またはスクリプトに最適
例:
-
Shell
-
Python
モバイルまたはシングルページ web アプリケーションに最適
例:
-
Javascript
-
Angular
-
React
-
Vue
サーバー上の資格情報とトークンを処理するサーバー側アプリケーションに最適
例:
-
Go
-
Java
-
ASP.Net
-
Node.js
-
PHP
サーバー認証を使用した OAuth2 アプリケーションを作成する(JWT フロー) create-an-oauth2-application-using-server-authentication-jwt-flow
-
Adobe Workfront の右上隅にある メインメニュー アイコン をクリックするか、または(使用可能な場合)左上隅にある メインメニュー アイコン 、「設定」 の順にクリックします。
-
左側のナビゲーションパネルで「システム」をクリックし、「OAuth2 アプリケーション」を選択します。
-
「アプリ統合を作成」をクリックします。
「新規 OAuth2 アプリケーション」ボックスが表示されます。 -
「新規 OAuth2 アプリケーション」ボックスで「マシンツーマシンアプリケーション」を選択します。
-
「Workfront for ClientApp」などの、新しいアプリケーションの名前を入力します。
-
「作成」をクリックします。
-
新しいアプリのフィールドに入力します。
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 layout-auto html-authored no-header Client ID このフィールドは自動的に生成されます。 Client secret このフィールドは自動的に生成されます
重要:
このページを閉じる前に、このフィールドの内容を別の安全なファイルにコピーしてください。この秘密鍵は再び表示されなくなります。
この鍵が失われた場合は、その鍵を削除してクライアントシークレットを作成します。
-
Delete アイコン をクリックして、現在のクライアントシークレットを削除します。
-
「Add client secret」をクリックして、新しいクライアントシークレットを生成します。
Public Keys サーバー間アプリは、認証に公開鍵と秘密鍵を使用します。次のいずれかの操作を行います。
-
「Add a public key」をクリックして、他のアプリケーションから公開鍵を入力します。
-
「Generate a public/private keypair」をクリックして、他のアプリケーションと公開鍵を共有します。
Name これは、アプリに付けたのと同じ名前です。このフィールドを空白にすることはできません. Description 統合の説明を入力します。 -
-
「保存」をクリックします。
ユーザー資格情報を使用して OAuth2 アプリケーションを設定および使用する手順(認証コードフロー)については、JWT フローを使用した組織のカスタム OAuth 2 アプリケーションの設定および使用を参照してください。
ユーザー資格情報を使用した OAuth2 アプリケーションの作成(認証コードフロー) create-an-oauth2-application-using-user-credentials-authorization-code-flow
https://app.workfrontfusion.com/oauth/cb/workfront-workfront
https://app-eu.workfrontfusion.com/oauth/cb/workfront-workfront
(EU データセンター)https://app-az.workfrontfusion.com/oauth/cb/workfront-workfront
(Azure データセンター)
-
Adobe Workfront の右上隅にある メインメニュー アイコン をクリックするか、または(使用可能な場合)左上隅にある メインメニュー アイコン 、「設定」 の順にクリックします。
-
左側のナビゲーションパネルで「システム」をクリックし、「OAuth2 アプリケーション」を選択します。
-
「アプリ統合を作成」をクリックします。
「新規 OAuth2 アプリケーション」が表示されます。
-
「新規 OAuth2 アプリケーション」ボックスで「Web アプリケーション」を選択します。
-
「Workfront for ClientApp」などの、新しい OAuth2 アプリケーションの名前を入力します。
-
「作成」をクリックします。
-
新しいアプリのフィールドに入力します。
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2 layout-auto html-authored no-header Client ID このフィールドは自動的に生成されます。 Client secret このフィールドは自動的に生成されます
重要:
このページを閉じる前に、このフィールドの内容を別の安全なファイルにコピーしてください。この秘密鍵は再び表示されなくなります。
この鍵が失われた場合は、その鍵を削除してクライアントシークレットを作成します。
-
Delete アイコン をクリックして、現在のクライアントシークレットを削除します。
-
「Add client secret」をクリックして、新しいクライアントシークレットを生成します。
Redirect URLs Workfrontで認証されたユーザーは、このパスにリダイレクトされます。 Refresh token rotation このオプションを有効にすると、更新トークンが使用されるたびに新しい更新トークンが発行されます。アプリケーションは、更新のたびに新しい更新トークンを格納する必要があります。 Absolute refresh token expiration 更新トークンの有効期限が切れるまでの期間を選択します。有効期限が切れたら、ユーザーは統合に再度ログインする必要があります。更新トークンの有効期限を設定しない場合は、「No expiration」を選択します。 非アクティブ更新トークンの有効期限 ユーザーがシステム内でアクティブでない場合に、その更新トークンの有効期限を設定します。
例えば、非アクティブ更新トークンの有効期限が 6 か月で、ユーザーが 6 か月間ログインしなかった場合、絶対期限が 6 か月より長く設定されていても、更新トークンは期限切れとなります。
Logo ロゴを追加して、このアプリをより識別しやすくすることができます。 Name これは、アプリに付けたのと同じ名前です。このフィールドを空白にすることはできません. Description 統合の説明を入力します。 App Description URL ここでは、会社概要のページや統合の詳細情報を含むページへのリンクを指定できます。 -
-
「保存」をクリックします。
ユーザー資格情報を使用して OAuth2 アプリケーションを設定および使用する手順(認証コードフロー)については、認証コードフローを使用した、組織のカスタム OAuth 2 アプリケーションの設定および使用を参照してください。
PKCE を使用した OAuth2 シングルページ Web アプリケーションの作成 create-an-oauth2-single-page-web-application-using-pkce
-
Adobe Workfront の右上隅にある メインメニュー アイコン をクリックするか、または(使用可能な場合)左上隅にある メインメニュー アイコン 、「設定」 の順にクリックします。
-
左側のナビゲーションパネルで、「システム」をクリックし、「OAuth2 アプリケーション」を選択します。
-
「アプリ統合を作成」をクリックします。
新規 OAuth2 アプリケーション ボックスが表示されます。
-
新規 OAuth2 アプリケーション ボックスで、「シングルページ web アプリケーション」を選択します。
-
「Workfront for ClientApp」など、OAuth2 アプリケーションの新しい名前を入力します。
-
「作成」をクリックします。
-
新しいアプリのフィールドに入力します。
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2 10-row-2 layout-auto html-authored no-header Client ID このフィールドは自動的に生成されます。 Redirect URLs Workfront で認証されたユーザーは、このパスにリダイレクトされます。 Rotate refresh token every time it is used このオプションを有効にすると、更新トークンが使用されるたびに新しい更新トークンが発行されます。アプリケーションは、更新のたびに新しい更新トークンを格納する必要があります。 Absolute expiration 更新トークンの有効期限が切れるまでの期間を選択します。有効期限が切れたら、ユーザーは統合に再度ログインする必要があります。更新トークンの有効期限を設定しない場合は、「No expiration」を選択します。 Inactivity expiration ユーザーがシステム内でアクティブでない場合に、その更新トークンの有効期限を設定します。
例えば、非アクティブ更新トークンの有効期限が 6 か月で、ユーザーが 6 か月間ログインしなかった場合、絶対期限が 6 か月より長く設定されていても、更新トークンは期限切れとなります。
Logo ロゴを追加して、このアプリをより識別しやすくすることができます。 Name これは、アプリに付けたのと同じ名前です。このフィールドを空白にすることはできません. Description 統合の説明を入力します。 Developer name これは、OAuth2 アプリケーションを設定する開発者の名前です。 Developer email address これは、OAuth2 アプリケーションを設定する開発者のメールアドレスです。 Privacy policy URL これは、組織がプライバシーポリシーを保存する場所へのリンクです。 -
「保存」をクリックします。
作成した OAuth2 アプリケーションの設定および使用
作成した OAuth2 アプリケーションをさらに設定して使用するには、API 呼び出しを含む技術的な知識が必要です。
- ユーザー資格情報を使用して OAuth2 アプリケーションを設定および使用する手順(認証コードフロー)については、認証コードフローを使用して、組織のカスタム OAuth 2 アプリケーションを設定および使用を参照してください。
- サーバー認証(JWT フロー)を使用した OAuth2 アプリケーションの設定と使用の手順については、JWT フローを使用した、組織のカスタム OAuth 2 アプリケーションの設定および使用を参照してください。
- PKCE を使用して OAuth2 アプリケーションを設定および使用する手順については、PKCE フローを使用して、組織のカスタム OAuth 2 アプリケーションを設定および使用を参照してください。
認証コードフローの OAuth2 プロセス
認証コードとアクセストークンを使用した認証 authorizing-with-an-authorization-code-and-access-token
-
ClientApp は Workfront からの情報を必要とするため、Workfront API
/authorize
エンドポイントにリクエストを送信します。リクエストには、response_typecode
が含まれます。これは、リクエストが認証コードを返す必要があることを示します。 -
これにより、Workfront がトリガーされ、ユーザーに認証プロンプトが送信されます。ユーザーは、プロンプトに資格情報を入力すると、Workfront に ClientApp と通信するためのアクセス許可が付与されます。ユーザーが既に Workfront にログインしている場合、この手順をスキップできます。
-
Workfront API が認証コードを ClientApp に送信します。
-
ClientApp は、リクエストで次の情報を Workfront API
/token
エンドポイントに送信します。- 手順 3 で ClientApp に送信した認証コード。これは、ユーザー権限の特定のインスタンスを識別します。
- Workfront でClientApp OAuth2 アプリを設定したときに生成されたクライアントシークレット。これにより、Workfront はリクエストが ClientApp から送信されていることを認識できるようになります。
-
認証コードとクライアントシークレットが正しい場合、Workfront はアクセストークンを ClientApp に送信します。このアクセストークンは Workfront から ClientApp に直接送信され、他のユーザーやクライアントアプリケーションが表示、コピー、使用することはできません。
-
ClientApp は、特定情報のリクエストとともにアクセストークンを Workfront に送信します。
-
アクセストークンが正しいので、Workfront は情報を ClientApp に送信します。
アクセストークンの更新
セキュリティのため、アクセストークンは短時間で期限切れになります。資格情報を毎回入力せずに新しいアクセストークンを取得するには、OAuth2 は更新トークンを使用します。更新トークンはクライアントによって保存されます。
更新トークンの取得プロセスは、認証コードとアクセストークンを使用した認証の節で説明した手順と同じです。認証コードのリクエストには、リクエストが認証コードとともにリクエストトークンを返す必要があることを示す、スコープ offline_access
が含まれています。