如何使用用户定义 (OAuth) 凭据类型

注意: 本文适用于 Web 服务数据操作集成。

添加 Web 服务数据操作集成时,可以选择凭据类型: 基本身份验证、用户定义或用户定义 (OAuth)。 有关更多信息,请参阅 添加数据操作集成凭据类型

本文介绍了如何使用用户定义 (OAuth) 凭据类型。 有关更多信息,请参阅用户定义的 (OAuth) 凭据类型的 工作流

  1. 添加集成时,请配置用户定义 (OAuth) 凭据。

    添加 Web 服务使用的字段名称以及这些字段名称的值。

    为用户定义 (OAuth) 配置凭据

    集成会创建自定义身份验证操作,该操作返回身份验证响应。

  2. 使用使用定义的终端节点进行身份验证所需的信息配置自定义身份验证操作。

    然后,集成使这些字段名称和值可用于后续的自定义操作。 可以在 AuthResponse Velocity 上下文中访问身份验证响应值。

    要配置身份验证操作,请执行以下步骤:

    1. 打开自定义身份验证操作。

      您可以通过两种方式访问自定义身份验证操作:

      • 在操作的凭据页面中,单击自 定义身份验证操作
      • 在 “操作” 页面中,单击集成的自定义身份验证操作。 有关详细信息,请参阅 管理操作
    2. 单击 “设 ” 选项卡。
    3. 单击配 选项卡。

      自定义身份验证操作的请求包括授权信息。 在以下示例中,授权包含在标头中。 凭证 是一个静态关键字。 LoginURLclientIdclientSecret 是添加到凭据配置中的字段名称。

      警告: 请务必在请求 模板成功模板或 requestURLTemplate中避免任何对输入或输出变量的使用如果没有使用特殊字符正确转义变量,则数据操作将在执行时失败。

      由于转义是特定于 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"
      }
      注意: 如果您的自定义身份验证操作不支持传输编码设置分块, 添加传输编码:缓冲在标题下。 有关详细信息,请参阅For more information, see自定义操作因意外原因失败
    4. 单击 “测 ” 选项卡。
    5. 单击 “ 运行操作”

      集成执行自定义身份验证操作并输出 Web 服务返回的内容(已编辑值)。 在以下示例中,Web 服务客户端 ID 返回 access_token,返回 token_type 表示 客户端秘密,以及 expires_in。 

      {
        "access_token": "<redacted string(86)>",
        "token_type": "<redacted string(6)>",
        "expires_in": "<redacted number>"
      }
  3. 使用 Web 服务在您创建的所有自定义操作的请求中返回的身份验证响应。 

    以下示例是对名为 Get Presence 的自定义操作的请求。 自定义操作请求的标头包含授权。 AuthResponse 是一个静态关键字。 token_typeaccess_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}"
    }
    注意: 当您测试自定义操作时,集成会编辑所有授权信息。 有关更多信息,请参阅 测试自定义操作

有关集成的详细信息,请参阅 关于 Web 服务数据操作集成