Zum Inhalt springen

Authentifizierung

Restorm hat kein Dropdown-Menü „Authentifizierungstyp“. Es gibt stattdessen etwas Allgemeineres: die Authentifizierungsanfrage, eine vollwertige Anfrage, deren Aufgabe es ist, Header für andere Anfragen zu erzeugen.

Der Vorteil: So lässt sich jedes Schema abbilden, auch solche, die keine Dropdown-Liste vorsieht — ein zweistufiger Austausch, ein signiertes Token, eine hausinterne API. Der Nachteil: Man muss es einmal schreiben.

Rechtsklick auf einen VariablenordnerHinzufügen ▸ Authentifizierungsanfrage.

Konfigurieren Sie den Aufruf zunächst wie jede andere HTTP-Anfrage: Methode, URL, Header, Body. Öffnen Sie dann den Tab Konfiguration, der die drei authentifizierungsspezifischen Einstellungen enthält.

Der Konfigurationstab einer Authentifizierungsanfrage mit seinen drei Bereichen: den erzeugten Headern, dem Ablauf in Sekunden und den Authentifizierungsfehlercodes

Die Liste der Header, die diese Route in jede Anfrage einfügt, die sie referenziert. Jeder Wert ist ein Ausdruck, der auf dem Antwort-Body der Authentifizierungsanfrage ausgewertet wird.

HeaderWert
Authorization{{token_type}} {{access_token}}

Ein ebenfalls auf dem Antwort-Body ausgewerteter Ausdruck, der die Gültigkeitsdauer in Sekunden liefert — typischerweise {{expires_in}}. Bleibt das Feld leer, läuft das Token nie von selbst ab.

Die HTTP-Statuscodes, die bei einer Anfrage mit dieser Route eine Token-Erneuerung mit anschließendem automatischem Wiederholungsversuch auslösen. Standardmäßig: 401 und 403.

Eine Authentifizierungsanfrage ist das Element, das Sie im Baum anlegen. Eine Authentifizierungsroute ist dasselbe Element, betrachtet von einer anderen Anfrage aus, im Selektor, der sie anbindet. Beide Begriffe bezeichnen dieselbe Entität an zwei Stellen der Oberfläche.

Im Tab der Anfrage, in der Smartbar, listet ein Selektor Authentifizierungsroute die Routen des Variablenordners auf. Die Standardbeschriftung lautet Keine Authentifizierung.

Sobald sie angebunden ist, werden die erzeugten Header bei jedem Senden eingefügt, das Token wird bis zu seinem Ablauf zwischengespeichert, und ein 401 löst eine transparente Erneuerung aus.

Anfrage: POST https://auth.exemple.test/oauth/token, Body x-www-form-urlencoded mit grant_type=client_credentials, client_id={{clientId}}, client_secret={{clientSecret}} (das Secret ist dabei ein Wert vom Typ Secret).

Erzeugter Header: Authorization = {{token_type}} {{access_token}}. Ablauf: {{expires_in}}.

Keine Anfrage ist nötig, wenn Sie die Zugangsdaten bereits haben: Setzen Sie einfach den Header auf die Anfrage (oder auf den Ordner):

Authorization = Basic {{base64Encode (append (append user ":") password)}}

Ein Header oder ein Anfrageparameter genügt: X-API-Key = {{apiKey}}, wobei der Schlüssel eine Variable vom Typ Secret ist.

Erstellen Sie ein Szenario: erster Aufruf, Extraktion des Zwischencodes, zweiter Aufruf, dann Variable setzen, um das Token in den Run-Variablen abzulegen. Die nachfolgenden Anfragen des Szenarios lesen es mit {{jeton}}.

Beim Import einer Spezifikation werden die deklarierten Sicherheitsschemata in vorverdrahtete Header oder Parameter übersetzt, mit einer für Sie angelegten Umgebungsvariable:

Schema in der SpezifikationWas Restorm setzt
apiKey (Header oder Anfrage)Ein nach dem Schema benanntes Paar, Wert {{<schema>}}
http / basicAuthorization: Basic {{<schema>_credentials}}
http / bearer, oauth2, openIdConnectAuthorization: Bearer {{<schema>_token}}

Sie müssen nur noch die Variable befüllen oder sie durch eine Authentifizierungsroute ersetzen, wenn Sie die automatische Erneuerung wollen.

Manche Protokolle laufen nicht über HTTP-Header. Ihre Zugangsdaten sind Felder der Anfrage selbst:

ProtokollFelder
MQTTusername, password, Client-Kennung
AMQPusername, password, vhost
Redispassword
KafkaSASL-Mechanismus (plain, scram-sha-256, scram-sha-512), Kennung, Passwort, TLS
STOMPHeader login und passcode des CONNECT
gRPCMetadaten des Aufrufs

Jedes dieser Passwörter akzeptiert einen Wert vom Typ Secret.