Aller au contenu

Autentifikacija

Restorm nema padajući meni „tip autentifikacije”. Ima nešto opštije: zahtev za autentifikaciju, punopravan zahtev čija je uloga da proizvede zaglavlja za ostale.

Prednost: bilo koja šema može da se modeluje, uključujući i one koje nijedan padajući meni ne predviđa — razmena u dva koraka, potpisan token, sopstveni API. Mana: treba je napisati jednom.

Desni klik na fasciklu promenljivihDodaj ▸ HTTP zahtev za autentifikaciju.

Najpre podesite poziv kao bilo koji HTTP zahtev: metoda, URL, zaglavlja, telo. Zatim otvorite njegovu karticu Konfiguracija, koja nosi tri podešavanja svojstvena autentifikaciji.

Kartica Konfiguracija zahteva za autentifikaciju, sa svoja tri odeljka: proizvedena zaglavlja, istek u sekundama i kodovi grešaka autentifikacije

Lista zaglavlja koja će ova ruta ubaciti u svaki zahtev koji je referencira. Svaka vrednost je izraz koji se izračunava nad telom odgovora zahteva za autentifikaciju.

ZaglavljeVrednost
Authorization{{token_type}} {{access_token}}

Izraz, takođe izračunat nad telom odgovora, koji daje trajanje važenja u sekundama — obično {{expires_in}}. Ako se ostavi prazan, token nikada ne ističe sam od sebe.

HTTP statusi koji, kada ih primi zahtev koji koristi ovu rutu, pokreću obnavljanje tokena pa automatski ponovni pokušaj. Podrazumevano: 401 i 403.

Zahtev za autentifikaciju je element koji pravite u stablu. Ruta autentifikacije je taj isti element viđen iz drugog zahteva, u biraču koji ga prikačinje. Oba termina označavaju isti entitet, na dva mesta u interfejsu.

Na kartici zahteva, u smartbaru, birač Ruta autentifikacije navodi rute iz fascikle promenljivih. Podrazumevani natpis je Bez autentifikacije.

Kada je prikačena, proizvedena zaglavlja ubacuju se pri svakom slanju, token se kešira do svog isteka, a 401 izaziva neprimetno obnavljanje.

Zahtev: POST https://auth.exemple.test/oauth/token, telo x-www-form-urlencoded sa grant_type=client_credentials, client_id={{clientId}}, client_secret={{clientSecret}} (pri čemu je tajna vrednost tipa Tajna).

Proizvedeno zaglavlje: Authorization = {{token_type}} {{access_token}}. Istek: {{expires_in}}.

Nikakav zahtev nije potreban ako već imate akreditive: jednostavno postavite zaglavlje na zahtev (ili na fasciklu):

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

Dovoljno je zaglavlje ili parametar upita: X-API-Key = {{apiKey}}, pri čemu je ključ promenljiva tipa Tajna.

Napravite scenario: prvi poziv, izdvajanje međukoda, drugi poziv, pa Postavi promenljivu da biste token smestili u promenljive izvršavanja. Naredni zahtevi scenarija čitaju ga sa {{jeton}}.

Pri uvozu specifikacije, deklarisane bezbednosne šeme prevode se u unapred povezana zaglavlja ili parametre, uz promenljivu okruženja napravljenu umesto vas:

Šema u specifikacijiŠta Restorm postavlja
apiKey (zaglavlje ili upit)Par imenovan po šemi, vrednost {{<schema>}}
http / basicAuthorization: Basic {{<schema>_credentials}}
http / bearer, oauth2, openIdConnectAuthorization: Bearer {{<schema>_token}}

Ostaje vam samo da popunite promenljivu ili da je zamenite rutom autentifikacije ako želite automatsko obnavljanje.

Neki protokoli ne prolaze kroz HTTP zaglavlja. Njihovi akreditivi su polja samog zahteva:

ProtokolPolja
MQTTusername, password, identifikator klijenta
AMQPusername, password, vhost
Redispassword
KafkaSASL mehanizam (plain, scram-sha-256, scram-sha-512), akreditiv, lozinka, TLS
STOMPZaglavlja login i passcode u CONNECT-u
gRPCMetapodaci poziva

Svaka od ovih lozinki prihvata vrednost tipa Tajna.