ユーザー定義(OAuth)資格情報の種類を使用する方法

 メモ:   この記事は、Web サービス データアクション統合に適用されます。

Web サービス データ アクションの統合を追加するときに、資格情報の種類を選択できます。 基本認証、ユーザー定義、またはユーザー定義 (OAuth)。 詳細については、 データアクションの統合の追加 そして 資格情報の種類.

この記事では、ユーザー定義 (OAuth) 資格情報の種類を使用する方法について説明します。 詳細については、 ユーザー定義 (OAuth) 資格情報タイプのワークフロー.

  1. 統合を追加するときに、ユーザー定義 (OAuth) の資格情報を構成します。

    Web サービスで使用されるフィールド名と、これらのフィールド名の値を追加します。

    ユーザー定義の資格情報の構成 (OAuth)

    この統合により、認証応答を返すカスタム認証アクションが作成されます。

  2. 定義されたエンドポイントでの認証に必要な情報を使用して、カスタム認証アクションを構成します。

    この統合により、これらのフィールド名と値は、以降のカスタムアクションで使用できるようになります。 認証応答値にアクセスできるのは、 authResponse ベロシティコンテキスト。

    Auth アクションを設定するには、次の手順に従います。

    1. カスタム認証アクションを開きます。

      カスタム認証アクションには、次の2つの方法でアクセスできます。

      • アクションの [資格情報] ページで、 カスタム認証アクション.
      • [アクション] ページで、統合のカスタム認証アクションをクリックします。 詳細については、 アクションの管理.
    2. クリックし、 セットアップ ] タブ。
    3. クリックし、 構成 ] タブ。

      カスタム認証アクションの要求には、承認情報が含まれます。 次の例では、承認はヘッダーに含まれています。 資格情報 静的キーワードです。 loginUrl, クライアントID、そして clientSecret 信任状構成に追加されたフィールド名です。

      警告:  内の入力変数または出力変数の使用をエスケープするようにしてください requestTemplate, successTemplate、または requestUrlTemplate. 特殊文字を使用して変数を適切にエスケープしないと、実行時にデータアクションが失敗します。
      • 使用する esc.jsonString JSON本体内の文字列をエスケープします。

        詳細については、「esc.jsonString」セクションを参照してください データアクション用の速度マクロ.

      • 使用する esc.url() または urlTool.optionalQueryParam() のパスまたはクエリパラメータを適切にエスケープするには requestUrlTemplate または requestTemplate 使用している場合 x-www.form-urlencoded 値。

        詳細については、「String-escaping ライブラリセクションを参照してください。 データアクション用の速度マクロ.

      エスケープはJSONコンテキスト固有であるため、次の例では意図的にエスケープを示していません。

      {
        "requestUrlTemplate": "${credentials.loginUrl}",
        "requestType": "POST",
        "headers": {
          "Authorization": "Basic $encoding.base64(\"${credentials.clientId}:${credentials.clientSecret}\")",
          "Content-Type": "application/x-www-form-urlencoded"
        },
        "requestTemplate": "grant_type=client_credentials"
      }
       メモ:   カスタム認証アクションがサポートされていない場合転送エンコーディングに設定チャンク、 追加転送エンコーディング: バッファリングヘッダーの下。 詳細については、予期しない理由でカスタムアクションが失敗する
    4. クリックし、 テスト ] タブ。
    5. クリック 実行アクション

      この統合により、カスタム認証アクションが実行され、web サービスが返すもの (値のリダクトを使用して) を出力します。 次の例では、web サービスは access_tokenClientid, token_typeclientSecretそして expires_in

      {
        "access_token": "<redacted string(86)>",
        "token_type": "<redacted string(6)>",
        "expires_in": "<redacted number>"
      }
  3. 作成するすべてのカスタムアクションの要求で web サービスが返す auth 応答を使用します。 

    次の例は、Get プレゼンスと呼ばれるカスタムアクションの要求です。 カスタムアクション要求のヘッダーには、承認が含まれます。 authResponse は静的キーワードです。 token_type そして access_token web サービスから返される値です。 詳細については、 カスタムアクションを作成する, カスタムアクションに構成を追加するそして 要求の構成.

    {
      "requestUrlTemplate": "https://api.mypurecloud.com/api/v2/users/${input.USER_ID}/presences/PURECLOUD",
      "requestType": "GET",
      "headers": {
        "Authorization": "${authResponse.token_type} ${authResponse.access_token}"
      },
      "requestTemplate": "${input.rawRequest}"
    }
     メモ:   カスタムアクションをテストすると、統合 redacts は任意の認証情報を使用します。 詳細については、 カスタムアクションをテストする.

統合について詳しくは、以下を参照してください。 Web サービス データアクションの統合について