Dotcom-Monitor unterstützt die Überwachung von REST-API-Diensten, die durch das OAuth-Protokoll gesichert sind. In diesem Artikel zeigen wir, wie Sie ein Überwachungsgerät für die Fälle einrichten, in denen der Zielauthentifizierungsserver ein Zugriffstoken vom Typ Bearer zurückgibt.
Im Allgemeinen umfasst die Einrichtung die folgenden Schritte:
- Senden Sie eine Tokenanforderung an den OAuth2-Endpunkt, um ein Inhabertoken (HTTP Post) abzurufen.
- Rufen Sie das Inhabertoken von der Serverantwort ab.
- Senden Sie eine Anforderung mithilfe des gespeicherten Zugriffstokens an den API-Endpunkt.
Angenommen, Ihr Webdienst bietet Сlient Сredentials den Grant-Typ “”””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””” In diesem Fall ist kein Autorisierungscode erforderlich, um eine Zugriffstokenanforderung an den Autorisierungsserver zu senden.
Geben Sie im ersten Schritt, um die Tokenanforderung an den Autorisierungsserver anzugeben, die folgenden Attribute für den Anforderungstext in das Feld “Daten buchen ” ein:
- client_id – Ihre Anwendungskennung, die bei der ersten Registrierung Ihrer Anwendung auf dem Autorisierungsserver ausgestellt wurde.
- client_secret – wird bei der ersten Registrierung Ihrer Anwendung auf dem Autorisierungsserver ausgestellt.
- grant_type – muss auf” client_credentials” gesetzt werden.
Außerdem wird empfohlen, “access_token” als Schlüsselwort im Feld Inhaltsvalidierung anzugeben, um die Antwort vom Server zu überprüfen.
Nachdem die Serverantwort mit dem Zugriffstoken empfangen wurde, ist der zweite Schritt die Konfiguration der API-Verfügbarkeitsaufgabe.
Wenn der Authentifizierungsserver das Zugriffstoken vom Typ Bearer zurückgibt, kann das folgende Skript verwendet werden, um das Token im Abschnitt Skript vorbereiten abzurufen:
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;
Der Tokentyp wird hier explizit im Skript angegeben.