如何使用用户定义 (OAuth) 凭据类型
添加 Web 服务数据操作集成时,可以选择凭据类型: 基本身份验证、用户定义或用户定义 (OAuth)。 有关更多信息,请参阅 添加数据操作集成 和 凭据类型。
本文介绍了如何使用用户定义 (OAuth) 凭据类型。 有关更多信息,请参阅用户定义的 (OAuth) 凭据类型的 工作流。
- 添加集成时,请配置用户定义 (OAuth) 凭据。
添加 Web 服务使用的字段名称以及这些字段名称的值。
集成会创建自定义身份验证操作,该操作返回身份验证响应。
- 使用使用定义的终端节点进行身份验证所需的信息配置自定义身份验证操作。
然后,集成使这些字段名称和值可用于后续的自定义操作。 可以在 AuthResponse Velocity 上下文中访问身份验证响应值。
要配置身份验证操作,请执行以下步骤:
- 打开自定义身份验证操作。
您可以通过两种方式访问自定义身份验证操作:
- 在操作的凭据页面中,单击自 定义身份验证操作。
- 在 “操作” 页面中,单击集成的自定义身份验证操作。 有关详细信息,请参阅 管理操作。
- 单击 “设 置 ” 选项卡。
- 单击配 置 选项卡。
自定义身份验证操作的请求包括授权信息。 在以下示例中,授权包含在标头中。 凭证 是一个静态关键字。 LoginURL、 clientId和 clientSecret 是添加到凭据配置中的字段名称。
警告: 请务必在请求 模板、 成功模板或 requestURLTemplate中避免任何对输入或输出变量的使用。 如果没有使用特殊字符正确转义变量,则数据操作将在执行时失败。- 使用 esc.jsonString 来转义 JSON 正文中的字符串。
有关更多信息,请参阅 Velocity 宏中的 ESC.jsonString 部分了解数据操作。
- 如果使用 x-www.form- urlen编码的值, 请使用 esc.url () 或 URLtool.OptionalQueryParam () 来正确转义 请求 URL 模板 或请求模板的路径或查询参 数。
有关更多信息,请参阅 Velocity 宏中的字符串转义库部分以了解数据操作。
由于转义是特定于 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 服务 为 客户端 ID 返回 access_token,返回 token_type 表示 客户端秘密,以及 expires_in。
{ "access_token": "<redacted string(86)>", "token_type": "<redacted string(6)>", "expires_in": "<redacted number>" }
- 打开自定义身份验证操作。
- 使用 Web 服务在您创建的所有自定义操作的请求中返回的身份验证响应。
以下示例是对名为 Get Presence 的自定义操作的请求。 自定义操作请求的标头包含授权。 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}" }
注意: 当您测试自定义操作时,集成会编辑所有授权信息。 有关更多信息,请参阅 测试自定义操作。
有关集成的详细信息,请参阅 关于 Web 服务数据操作集成。