Aller au contenu

Autentifikacija

Restorm nema padajući izbornik „vrsta autentifikacije”. Ima nešto općenitije: zahtjev za autentifikaciju, punopravni zahtjev čija je uloga proizvesti zaglavlja za druge zahtjeve.

Prednost: modelirati se može bilo koja shema, uključujući one koje nijedan padajući popis ne predviđa — razmjena u dva koraka, potpisani token, vlastiti API. Nedostatak: treba je napisati jednom.

Desni klik na mapu okruženjaDodaj ▸ HTTP zahtjev za autentifikaciju.

Najprije podesite poziv kao bilo koji HTTP zahtjev: metoda, URL, zaglavlja, tijelo. Zatim otvorite njegovu karticu Konfiguracija, koja nosi tri postavke svojstvene autentifikaciji.

Kartica Konfiguracija zahtjeva za autentifikaciju, s tri odjeljka: proizvedena zaglavlja, istek u sekundama i kodovi pogrešaka autentifikacije

Popis zaglavlja koja će ova ruta ubaciti u svaki zahtjev koji je referencira. Svaka je vrijednost izraz evaluiran nad tijelom odgovora zahtjeva za autentifikaciju.

ZaglavljeVrijednost
Authorization{{token_type}} {{access_token}}

Izraz, također evaluiran nad tijelom odgovora, koji daje trajanje valjanosti u sekundama — obično {{expires_in}}. Ako se ostavi prazan, token nikada ne istječe sam od sebe.

HTTP statusi koji, kad ih primi zahtjev koji koristi ovu rutu, pokreću obnovu tokena pa automatski ponovni pokušaj. Prema zadanome: 401 i 403.

Zahtjev za autentifikaciju element je koji stvarate u stablu. Ruta autentifikacije isti je taj element gledan iz drugog zahtjeva, u biraču koji ga pridružuje. Oba pojma označavaju isti entitet, na dvama mjestima u sučelju.

Na kartici zahtjeva, u smartbaru, birač Ruta autentifikacije navodi rute iz mape okruženja. Zadani je natpis Bez autentifikacije.

Nakon pridruživanja proizvedena se zaglavlja ubacuju pri svakom slanju, token se sprema u predmemoriju do isteka, a 401 izaziva neprimjetnu obnovu.

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

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

Nikakav zahtjev nije potreban ako već imate vjerodajnice: jednostavno postavite zaglavlje na zahtjev (ili na mapu):

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

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

Stvorite scenarij: prvi poziv, izdvajanje međukoda, drugi poziv, zatim Postavi varijablu da token smjestite u varijable izvođenja. Sljedeći ga zahtjevi scenarija čitaju s {{jeton}}.

Pri uvozu specifikacije deklarirane se sigurnosne sheme prevode u unaprijed ožičena zaglavlja ili parametre, uz varijablu okruženja stvorenu umjesto vas:

Shema u specifikacijiŠto Restorm postavlja
apiKey (zaglavlje ili upit)Par nazvan po shemi, vrijednost {{<schema>}}
http / basicAuthorization: Basic {{<schema>_credentials}}
http / bearer, oauth2, openIdConnectAuthorization: Bearer {{<schema>_token}}

Ostaje vam samo popuniti varijablu ili je zamijeniti rutom autentifikacije ako želite automatsku obnovu.

Neki protokoli ne idu preko HTTP zaglavlja. Njihove su vjerodajnice polja samog zahtjeva:

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

Svaka od tih lozinki prihvaća vrijednost tipa Tajna.