Workfront 統合用の OAuth2 アプリケーションを作成する

Adobe Workfront 管理者は、Workfront のインスタンス用の OAuth2 アプリケーションを作成して、他のアプリケーションが Workfront にアクセスできるようにします。その後、ユーザーは他のアプリケーションに Workfront データへのアクセス権を付与できます。このようにして、独自の社内アプリケーションなど、選択したアプリケーションと統合できます。

OAuth2 アプリケーションを作成する場合、クライアント ID とクライアントシークレットを生成します。その後、ユーザーは API 呼び出しでクライアント ID を使用して、作成したアプリケーションと統合できます。

NOTE
OAuth2 のコンテキストでは、「アプリの作成」とは、アプリと Workfront などのサーバーとの間にこの種のアクセスリンクを作成するプロセスを指します。

アクセス要件

展開すると、この記事の機能のアクセス要件が表示されます。

この記事の手順を実行するには、次のアクセス権が必要です。

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

公開鍵 / 秘密鍵ペアのエンコーディングを使用した JSON Web トークンによる認証。
シングルページ Web アプリケーション

モバイルまたはシングルページ web アプリケーションに最適

例:

  • Javascript

  • Angular

  • React

  • Vue

Proof Key for Code Exchange(PKCE)を使用した OAuth 2.0 認証コードフローによる認証。
Web アプリケーション

サーバー上の資格情報とトークンを処理するサーバー側アプリケーションに最適

例:

  • Go

  • Java

  • ASP.Net

  • Node.js

  • PHP

OAuth 2.0 認証コードフローによる認証。
NOTE
一度に最大 10 個の OAuth2 アプリケーションを持つことができます。

サーバー認証を使用した OAuth2 アプリケーションを作成する(JWT フロー) create-an-oauth2-application-using-server-authentication-jwt-flow

  1. Adobe Workfront の右上隅にある​ メインメニュー ​アイコン メインメニュー をクリックするか、または(使用可能な場合)左上隅にある​ メインメニュー ​アイコン メインメニュー 、「設定 設定アイコン の順にクリックします。

  2. 左側のナビゲーションパネルで「システム」をクリックし、「OAuth2 アプリケーション」を選択します。

  3. アプリ統合を作成」をクリックします。
    新規 OAuth2 アプリケーション」ボックスが表示されます。

  4. 新規 OAuth2 アプリケーション」ボックスで「マシンツーマシンアプリケーション」を選択します。

  5. 「Workfront for ClientApp」などの、新しいアプリケーションの名前を入力します。

  6. 作成」をクリックします。

  7. 新しいアプリのフィールドに入力します。

    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

    このフィールドは自動的に生成されます

    重要

    このページを閉じる前に、このフィールドの内容を別の安全なファイルにコピーしてください。この秘密鍵は再び表示されなくなります。

    この鍵が失われた場合は、その鍵を削除してクライアントシークレットを作成します。

    1. Delete アイコン をクリックして、現在のクライアントシークレットを削除します。

    2. Add client secret」をクリックして、新しいクライアントシークレットを生成します。

    Public Keys

    サーバー間アプリは、認証に公開鍵と秘密鍵を使用します。次のいずれかの操作を行います。

    • Add a public key」をクリックして、他のアプリケーションから公開鍵を入力します。

    • Generate a public/private keypair」をクリックして、他のアプリケーションと公開鍵を共有します。

    Name これは、アプリに付けたのと同じ名前です。このフィールドを空白にすることはできません.
    Description 統合の説明を入力します。
  8. 保存」をクリックします。

ユーザー資格情報を使用して OAuth2 アプリケーションを設定および使用する手順(認証コードフロー)については、JWT フローを使用した組織のカスタム OAuth 2 アプリケーションの設定および使用を参照してください。

ユーザー資格情報を使用した OAuth2 アプリケーションの作成(認証コードフロー) create-an-oauth2-application-using-user-credentials-authorization-code-flow

NOTE
Workfront Fusion に接続するアプリケーションを作成する場合は、次のいずれかのリダイレクト URL を使用します。
  • 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 データセンター)
  1. Adobe Workfront の右上隅にある​ メインメニュー ​アイコン メインメニュー をクリックするか、または(使用可能な場合)左上隅にある​ メインメニュー ​アイコン メインメニュー 、「設定 設定アイコン の順にクリックします。

  2. 左側のナビゲーションパネルで「システム」をクリックし、「OAuth2 アプリケーション」を選択します。

  3. アプリ統合を作成」をクリックします。

    新規 OAuth2 アプリケーション」が表示されます。

  4. 新規 OAuth2 アプリケーション」ボックスで「Web アプリケーション」を選択します。

  5. 「Workfront for ClientApp」などの、新しい OAuth2 アプリケーションの名前を入力します。

  6. 作成」をクリックします。

  7. 新しいアプリのフィールドに入力します。

    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

    このフィールドは自動的に生成されます

    重要

    このページを閉じる前に、このフィールドの内容を別の安全なファイルにコピーしてください。この秘密鍵は再び表示されなくなります。

    この鍵が失われた場合は、その鍵を削除してクライアントシークレットを作成します。

    1. Delete アイコン をクリックして、現在のクライアントシークレットを削除します。

    2. Add client secret」をクリックして、新しいクライアントシークレットを生成します。

    Redirect URLs Workfrontで認証されたユーザーは、このパスにリダイレクトされます。
    Refresh token rotation このオプションを有効にすると、更新トークンが使用されるたびに新しい更新トークンが発行されます。アプリケーションは、更新のたびに新しい更新トークンを格納する必要があります。
    Absolute refresh token expiration 更新トークンの有効期限が切れるまでの期間を選択します。有効期限が切れたら、ユーザーは統合に再度ログインする必要があります。更新トークンの有効期限を設定しない場合は、「No expiration」を選択します。
    非アクティブ更新トークンの有効期限

    ユーザーがシステム内でアクティブでない場合に、その更新トークンの有効期限を設定します。

    例えば、非アクティブ更新トークンの有効期限が 6 か月で、ユーザーが 6 か月間ログインしなかった場合、絶対期限が 6 か月より長く設定されていても、更新トークンは期限切れとなります。

    Logo ロゴを追加して、このアプリをより識別しやすくすることができます。
    Name これは、アプリに付けたのと同じ名前です。このフィールドを空白にすることはできません.
    Description 統合の説明を入力します。
    App Description URL ここでは、会社概要のページや統合の詳細情報を含むページへのリンクを指定できます。
  8. 保存」をクリックします。

ユーザー資格情報を使用して OAuth2 アプリケーションを設定および使用する手順(認証コードフロー)については、認証コードフローを使用した、組織のカスタム OAuth 2 アプリケーションの設定および使用を参照してください。

PKCE を使用した OAuth2 シングルページ Web アプリケーションの作成 create-an-oauth2-single-page-web-application-using-pkce

  1. Adobe Workfront の右上隅にある​ メインメニュー ​アイコン メインメニュー をクリックするか、または(使用可能な場合)左上隅にある​ メインメニュー ​アイコン メインメニュー 、「設定 設定アイコン の順にクリックします。

  2. 左側のナビゲーションパネルで、「システム」をクリックし、「OAuth2 アプリケーション」を選択します。

  3. アプリ統合を作成」をクリックします。

    新規 OAuth2 アプリケーション ​ボックスが表示されます。

  4. 新規 OAuth2 アプリケーション ​ボックスで、「シングルページ web アプリケーション」を選択します。

  5. 「Workfront for ClientApp」など、OAuth2 アプリケーションの新しい名前を入力します。

  6. 作成」をクリックします。

  7. 新しいアプリのフィールドに入力します。

    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 これは、組織がプライバシーポリシーを保存する場所へのリンクです。
  8. 保存」をクリックします。

作成した OAuth2 アプリケーションの設定および使用

作成した OAuth2 アプリケーションをさらに設定して使用するには、API 呼び出しを含む技術的な知識が必要です。

認証コードフローの OAuth2 プロセス

NOTE
ユーザーは API を通じて OAuth2 アプリケーションにアクセスします。この節は一般的な用語での機能について説明し、情報提供のみを目的としています。
特定の API 呼び出しを含む、OAuth2 アプリケーションの使用に関する具体的な手順については、認証コードフローを使用して、組織のカスタム OAuth 2 アプリケーションを設定および使用を参照してください。

認証コードとアクセストークンを使用した認証 authorizing-with-an-authorization-code-and-access-token

  1. ClientApp は Workfront からの情報を必要とするため、Workfront API /authorizeエンドポイントにリクエストを送信します。リクエストには、response_typecode が含まれます。これは、リクエストが認証コードを返す必要があることを示します。

  2. これにより、Workfront がトリガーされ、ユーザーに認証プロンプトが送信されます。ユーザーは、プロンプトに資格情報を入力すると、Workfront に ClientApp と通信するためのアクセス許可が付与されます。ユーザーが既に Workfront にログインしている場合、この手順をスキップできます。

  3. Workfront API が認証コードを ClientApp に送信します。

  4. ClientApp は、リクエストで次の情報を Workfront API /tokenエンドポイントに送信します。

    • 手順 3 で ClientApp に送信した認証コード。これは、ユーザー権限の特定のインスタンスを識別します。
    • Workfront でClientApp OAuth2 アプリを設定したときに生成されたクライアントシークレット。これにより、Workfront はリクエストが ClientApp から送信されていることを認識できるようになります。
  5. 認証コードとクライアントシークレットが正しい場合、Workfront はアクセストークンを ClientApp に送信します。このアクセストークンは Workfront から ClientApp に直接送信され、他のユーザーやクライアントアプリケーションが表示、コピー、使用することはできません。

  6. ClientApp は、特定情報のリクエストとともにアクセストークンを Workfront に送信します。

  7. アクセストークンが正しいので、Workfront は情報を ClientApp に送信します。

アクセストークンの更新

セキュリティのため、アクセストークンは短時間で期限切れになります。資格情報を毎回入力せずに新しいアクセストークンを取得するには、OAuth2 は更新トークンを使用します。更新トークンはクライアントによって保存されます。

更新トークンの取得プロセスは、認証コードとアクセストークンを使用した認証の節で説明した手順と同じです。認証コードのリクエストには、リクエストが認証コードとともにリクエストトークンを返す必要があることを示す、スコープ offline_access が含まれています。

recommendation-more-help
5f00cc6b-2202-40d6-bcd0-3ee0c2316b43