ドットコムモニターは、OAuth プロトコルによって保護された REST API サービスの監視をサポートします。 本稿では、対象認証サーバが ベアラー 型のアクセストークンを返す場合に備えて、監視装置の設定方法を紹介します。

一般に、セットアップには次の手順が含まれます。

  1. トークン要求を OAuth2 エンドポイントに送信してベアラー トークン (HTTP Post) を取得します。
  2. サーバー応答からベアラー トークンを取得します。
  3. 保存されたアクセス トークンを使用して、API エンドポイントに要求を送信します。

リソース所有者の代わりにクライアントの資格情報を使用する場合、Web サービスが Сlient Сredentials 許可タイプを提供していると仮定しましょう。 この場合、承認サーバーにアクセス トークン要求を行う認証コードは必要ありません。

最初の手順で、承認サーバーへのトークン要求を指定するには、[ データの投稿 ] フィールドに次の要求本文属性を指定します。


  • client_id
    – 承認サーバーでアプリケーションが最初に登録したときに発行されるアプリケーション識別子。

  • client_secret
    – 承認サーバーでアプリケーションが最初に登録された時に発行されます。

  • grant_type
    client_credentialsに設定する必要があります。

また、サーバーからの応答を検証するには、[コンテンツの検証]フィールドにキーワードとして “access_token” を指定することをお勧めします。

次の手順で提供されるスクリプトを使用して要求結果からアクセス トークンを取得するには、トークン要求に “AuthToken” という名前を付けてください。 要求に名前を付けるには、URL の説明フィールドに 「認証トークン」と入力します。

 

アクセス トークンを含むサーバー応答を受信したら、2 番目の手順は API 可用性タスクの構成です。

認証サーバーが Bearer 型のアクセス トークンを返す場合は、次のスクリプトを使用して[ スクリプトの準備] セクションでトークンを取得できます。

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;

トークンの種類は、ここでのスクリプトで明示的に指定されます。