ユーザー定義(OAuth)資格情報の種類を使用する方法
Web サービス データ アクションの統合を追加するときに、資格情報の種類を選択できます。 基本認証、ユーザー定義、またはユーザー定義 (OAuth)。 詳細については、 データアクションの統合の追加 そして 資格情報の種類.
この記事では、ユーザー定義 (OAuth) 資格情報の種類を使用する方法について説明します。 詳細については、 ユーザー定義 (OAuth) 資格情報タイプのワークフロー.
- 統合を追加するときに、ユーザー定義 (OAuth) の資格情報を構成します。
Web サービスで使用されるフィールド名と、これらのフィールド名の値を追加します。
この統合により、認証応答を返すカスタム認証アクションが作成されます。
- 定義されたエンドポイントでの認証に必要な情報を使用して、カスタム認証アクションを構成します。
この統合により、これらのフィールド名と値は、以降のカスタムアクションで使用できるようになります。 認証応答値にアクセスできるのは、 authResponse ベロシティコンテキスト。
Auth アクションを設定するには、次の手順に従います。
- カスタム認証アクションを開きます。
カスタム認証アクションには、次の2つの方法でアクセスできます。
- アクションの [資格情報] ページで、 カスタム認証アクション.
- [アクション] ページで、統合のカスタム認証アクションをクリックします。 詳細については、 アクションの管理.
- クリックし、 セットアップ ] タブ。
- クリックし、 構成 ] タブ。
カスタム認証アクションの要求には、承認情報が含まれます。 次の例では、承認はヘッダーに含まれています。 資格情報 静的キーワードです。 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" }
メモ: カスタム認証アクションがサポートされていない場合転送エンコーディングに設定チャンク、 追加転送エンコーディング: バッファリングヘッダーの下。 詳細については、予期しない理由でカスタムアクションが失敗する。 - 使用する esc.jsonString JSON本体内の文字列をエスケープします。
- クリックし、 テスト ] タブ。
- クリック 実行アクション。
この統合により、カスタム認証アクションが実行され、web サービスが返すもの (値のリダクトを使用して) を出力します。 次の例では、web サービスは access_token の Clientid, token_type の clientSecretそして expires_in.
{ "access_token": "<redacted string(86)>", "token_type": "<redacted string(6)>", "expires_in": "<redacted number>" }
- カスタム認証アクションを開きます。
- 作成するすべてのカスタムアクションの要求で 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 サービス データアクションの統合について。