• 最終編集日時: 19 August 2022

OAuth 2.0移行ガイド

はじめに

この記事では、APIキーからOAuth 2.0に移行するために、CoupaでOAuthクライアントを設定するために完了する必要がある手順について説明します。

メモ

APIキーの無効化と移行は、Coupaコアプラットフォームへの顧客のインテグレーションにのみ影響し、Treasury、CSO、Supply Chain Design & Planningなどのアプリケーションには影響しませ 

仕組み

メモ

 すべてのCoupaインスタンス(本番、テスト、開発、ステージなど)で次の手順を完了してください。

1. CoupaでAPIキーを確認する

  1. Coupaインスタンスにログインします。
  2. [設定]>[ APIキー]に移動します
  3. すべてのキーを確認します。

2. OAuth Clientの作成とスコープの割り当て

  1. [設定]>[ Oauth2/OpenID接続クライアント](/oauth2/ clients)に移動します。
  2. [作成]を クリックし、[許可タイ プ]ドロップダウンで[クライアント資格情報]を選択します。
  3. フィールドに入力し、クライアントに必要な範囲(アクセス権限)を選択します。すべてのAPIエンドポイントと操作へのアクセスをクライアントに許可する場合は、そのクライアントにすべての範囲を追加する必要があります。 
    クライアント作成画面。
  4. クライアントを保存すると、識別子、シークレット、Oidc範囲などのクライア ント認証情報が取得されま詳細については
    Oathクライアント情報が保存後に返されました。

3.資格情報テスト(PostmanのようなHTTPクライアントを使用した接続テスト)

  1. ターミナル(LINK)を使用して、コマンドラインを使用してCurl POSTを実行します。
    curl -X POST -H "Content-Type: application/x-www-form-urlencoded" -d "client_id=<CLIENT_ID>&grant_type=client_credentials&scope=<SPACE_SEPARATED_LIST_OF_SCOPES>&client_secret=<CLIENT_SECRET>" https://<INSTANCE_DOMAIN>/oauth2/token
    Curl POSTの例。
  2. PostmanなどのHTTPクライアントまたは別のRESTクライアントを使用して、Coupa APIを使用するようにOAuth2/OIDCクライアント接続を設定します。
  3. [POST]を選 択します
  4. URLを、上記でクライアントを定義したインスタンス名に設定します。 例:https://{your_instance_address}/oauth2/token
  5. Content-Typeのヘッダーキー値を設定= application/x-www-form-urlencoded
    Content-Type POSTの例。
  6. POSTの本文に次の値を設定します。
    1. client_id = <クライアント識別子の値>
    2. grant_type = client_credentials
    3. 範囲= <コンマなしでクライアント認証情報の設定で選択したすべての範囲をコピー/貼り付けます。>
    4. client_secret = /貼り付け >
      POSTの本文設定。
  7. [送信]をクリックします。POST応答には、定義さ access_token れた範囲内で次の24時間(expires_in 86,399秒)のAPI呼び出しを承認するために生成されたが含まれます。 
    POST応答の例。

  8. 応答の本 access_token 体から値をコピーし、このクライアント接続に定義した範囲内で、Coupa API呼び出しの承認ヘッダーでトークン値として使用しま す。 Coupa API Coupaは次の点に注意してください。 

  9. 新しいタブを作成して、GET、POST、PUTなどのAPI呼び出しを行い、リクエストビルダーの権限付与部分で「タイプ」=(TYPE)を定義しま OAuth 2.0

  10. をトークン access_token フィールド値と して貼 り付けます。
    トークンフィールド値の例。

  11. [ヘッダー] に移 動し、[受け入れる]キーフィーapplication/xml ルド application/jsonにまたはの値 を入力します 。コールと使用しようとしているインターフェイスに従って、他のリクエストパラメータを設定および定義する必要があります。この例では、請求書APIへのGET APIコールを確認できます。
    キーフィールドの例を受け入れます。

  12. [送信]をクリックします。[承認]ヘ access_token ッダーにそ れを 設定すると、その接続に定義したクライアント範囲にGET、PUT、またはPOSTコールを行うことができます。
    成功したリクエストの例。

4.トークン作成用のミドルウェアスクリプト/フローを構築し、20時間ごとに更新

ミドルウェアによって設定が異なる場合があります。ただし、Coupa APIキーを使用するすべてのインテグレーションがOAuthトークンを使用するように更新されていることを確認することが重要です。このトークンの生成と更新には、20時間ごとに確実に更新されるように、新しいスクリプト/フローを作成する必要がある場合があります。ミドルウェアのほとんどのアダプターは、設定完了後にトークンを自動的に更新します。

警告

クライアント内の範囲を変更すると、トークン生成リクエストで渡されるため、トークン生成スクリプト/アダプタに影響します。

フローの例。

OAuth2.0アダプターの設定方法に関する各種ミドルウェアについては、以下のドキュメントのリンクを参照してください。

5.インテグレーションを更新して、スクリプトによって生成された新しいトークンを使用する

既存のすべてのインテグレーションでは、OAuth接続を採用し、新しいスクリプト/フローによって生成されたトークンを使用する必要があります。これは、たとえば、マスターデータのインテグレーションが最初に移行され、その後トランザクションデータのインテグレーションが後の段階で移行されるといったフェーズで実行できます。

6.古いAPIキーを無効にする

移行処理の一環として、OAuth2.0への移行後に既存のAPIキーが使用されないように無効にしてください。

  1. [設定]>[ APIキー]に移動します
  2. 古いAPIキーを編集します。
  3. [APIキー の取り消し]をクリックします。

7. Coupa Success Portalで利用可能なリソースと情報

Coupaウェビナー

以下のリソースを使用して詳細を確認することもできます。

このページに表示されている一部、または全ての内容は、機械翻訳によるものです。ご了承ください。

関連アイテム


Coupa Core API

RESTful APIは、Coupaプラットフォームでデータの読み取り、編集、統合を行うための堅牢なアクセスを提供します。

リソース

オブジェクトのタイプごとにAPIエンドポイントを整理しました。参照データ、トランザクションデータ、および共有リソース。

参照データリソース

リファレンスデータは、ユーザー、サプライヤー、アカウントなど、Coupaのコアコンポーネントを設定するために使用されます。

取引リソース

Coupaを使用すると、依頼書、発注書、請求書などのトランザクションデータが作成されます。