ドットコムモニターは、OAuth プロトコルによって保護された REST API サービスの監視をサポートします。 本稿では、対象認証サーバが ベアラー 型のアクセストークンを返す場合に備えて、監視装置の設定方法を紹介します。
一般に、セットアップには次の手順が含まれます。
- トークン要求を OAuth2 エンドポイントに送信してベアラー トークン (HTTP Post) を取得します。
- サーバー応答からベアラー トークンを取得します。
- 保存されたアクセス トークンを使用して、API エンドポイントに要求を送信します。
リソース所有者の代わりにクライアントの資格情報を使用する場合、Web サービスが Сlient Сredentials 許可タイプを提供していると仮定しましょう。 この場合、承認サーバーにアクセス トークン要求を行う認証コードは必要ありません。
最初の手順で、承認サーバーへのトークン要求を指定するには、[ データの投稿 ] フィールドに次の要求本文属性を指定します。
client_id
– 承認サーバーでアプリケーションが最初に登録したときに発行されるアプリケーション識別子。
client_secret
– 承認サーバーでアプリケーションが最初に登録された時に発行されます。
grant_type
–client_credentialsに設定する必要があります。
また、サーバーからの応答を検証するには、[コンテンツの検証]フィールドにキーワードとして “access_token” を指定することをお勧めします。
アクセス トークンを含むサーバー応答を受信したら、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;
トークンの種類は、ここでのスクリプトで明示的に指定されます。