Dotcom 监控器支持监控由 OAuth 协议保护的 REST API 服务。 在本文中,我们将展示如何为目标身份验证服务器返回 持有者 类型的访问令牌的情况设置监视设备。

一般来说,设置将包括以下步骤:

  1. 向 OAuth2 端点发送令牌请求,以获取记号令牌 (HTTP 帖子)。
  2. 从服务器响应中检索记号。
  3. 使用保存的访问令牌将请求发送到 API 端点。

假设在使用客户端的凭据而不是资源所有者的凭据时,Web 服务提供[lient ]”红色”授予类型。 在这种情况下,无需授权代码即可向授权服务器发出访问令牌请求。

第一步,要指定对授权服务器的令牌请求,请在“ 发布数据” 字段中提供以下请求正文属性:

  • client_id – 应用程序标识符,在您的应用程序在授权服务器首次注册时发出。
  • client_secret– 在您的应用程序在授权服务器首次注册时发出。
  • grant_type – 必须设置为“client_credentials”。

此外,建议在“内容验证“字段中将“access_token”指定为关键字,以验证来自服务器的响应。

要使用下一步中提供的脚本从请求结果中检索访问令牌,请确保将令牌请求命名为“AuthToken”。 若要命名请求,请在“URL 描述”字段中键入 AuthToken

 

收到具有访问令牌的服务器响应后,第二步是 API 可用性任务配置。

如果身份验证服务器返回 “熊” 类型的访问令牌,则可用于在 “准备脚本 “部分检索下文:

string access_token;
string TokenAuthorization;

// get the authorization response from the first task
string json = (Tasks["AuthToken"] as Http).body["//*"];

//retrieve the access token from the response body
access_token = "";
if(json.IndexOf("access_token\"") != -1) access_token = json.Substring(json.IndexOf("access_token\"") + "access_token\"".Length);
if(json.IndexOf("\"") != -1) access_token = access_token.Substring(access_token.IndexOf("\"") + 1);
if(json.IndexOf("\"") != -1) access_token = access_token.Substring(0, access_token.IndexOf("\""));

//set the TokenAuthorization variable 
TokenAuthorization = "Bearer " + access_token;

此处的脚本中显式指定令牌类型。