Hoppa till innehåll

Autentisering

Restorm har ingen rullgardinsmeny för ”autentiseringstyp”. Det har något mer generellt: autentiseringsbegäran, en fullvärdig begäran vars uppgift är att producera headers till de andra.

Fördelen: vilket schema som helst går att modellera, även de som ingen rullgardinsmeny förutser — ett utbyte i två steg, en signerad token, ett egenbyggt API. Nackdelen: du måste skriva det en gång.

Högerklicka på en variabelmappLägg till ▸ Autentiseringsbegäran.

Konfigurera först anropet som vilken HTTP-begäran som helst: metod, URL, headers, kropp. Öppna sedan dess flik Konfiguration, som bär de tre inställningar som hör till autentiseringen.

Fliken Konfiguration i en autentiseringsbegäran, med sina tre sektioner: de producerade headerna, utgångstiden i sekunder och autentiseringens felkoder

Listan över de headers som den här vägen injicerar i varje begäran som refererar till den. Varje värde är ett uttryck som utvärderas mot svarskroppen från autentiseringsbegäran.

HeaderVärde
Authorization{{token_type}} {{access_token}}

Ett uttryck, som också utvärderas mot svarskroppen och som ger giltighetstiden i sekunder — typiskt {{expires_in}}. Lämnas det tomt går token aldrig ut av sig självt.

De HTTP-statusar som, när de tas emot av en begäran som använder den här vägen, utlöser en förnyelse av token och sedan ett automatiskt nytt försök. Som standard: 401 och 403.

En autentiseringsbegäran är det objekt du skapar i trädet. En autentiseringsväg är samma objekt sett från en annan begäran, i väljaren som knyter det dit. De två termerna betecknar samma entitet, på två platser i gränssnittet.

I begärans flik, i smartbaren, listar en väljare Autentiseringsväg vägarna i variabelmappen. Standardetiketten är Ingen autentisering.

När vägen är knuten injiceras de producerade headerna vid varje sändning, token cachas fram till sin utgångstid, och en 401 utlöser en förnyelse som du inte behöver bry dig om.

Begäran: POST https://auth.exemple.test/oauth/token, kropp x-www-form-urlencoded med grant_type=client_credentials, client_id={{clientId}}, client_secret={{clientSecret}} (där hemligheten är ett värde av typen Hemlighet).

Producerad header: Authorization = {{token_type}} {{access_token}}. Utgångstid: {{expires_in}}.

Ingen begäran behövs om du redan har inloggningsuppgifterna: lägg helt enkelt headern på begäran (eller på mappen):

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

En header eller en frågeparameter räcker: X-API-Key = {{apiKey}}, där nyckeln är en variabel av typen Hemlighet.

Skapa ett scenario: första anropet, extrahering av den mellanliggande koden, andra anropet, sedan Ange variabel för att lägga token bland körningsvariablerna. Scenariots följande begäranden läser den med {{jeton}}.

När en specifikation importeras översätts de deklarerade säkerhetsschemorna till färdigkopplade headers eller parametrar, med en miljövariabel som skapas åt dig:

Schema i specifikationenVad Restorm lägger in
apiKey (header eller fråga)Ett par som namnges efter schemat, värde {{<schema>}}
http / basicAuthorization: Basic {{<schema>_credentials}}
http / bearer, oauth2, openIdConnectAuthorization: Bearer {{<schema>_token}}

Allt som återstår är att fylla i variabeln, eller att byta ut den mot en autentiseringsväg om du vill ha automatisk förnyelse.

Vissa protokoll går inte via HTTP-headers. Deras inloggningsuppgifter är fält i begäran själv:

ProtokollFält
MQTTusername, password, klient-id
AMQPusername, password, vhost
Redispassword
KafkaSASL-mekanism (plain, scram-sha-256, scram-sha-512), användarnamn, lösenord, TLS
STOMPHeaderna login och passcode i CONNECT
gRPCAnropets metadata

Vart och ett av dessa lösenord accepterar ett värde av typen Hemlighet.