Sari la conținut

Autentificare

Restorm nu are o listă derulantă „tip de autentificare”. Are ceva mai general: cererea de autentificare, o cerere de sine stătătoare al cărei rol este să producă antete pentru celelalte.

Avantajul: orice schemă se poate modela, inclusiv cele pe care nicio listă derulantă nu le prevede — un schimb în doi timpi, un token semnat, un API făcut în casă. Dezavantajul: trebuie scrisă o dată.

Clic dreapta pe un folder de variabileAdaugă ▸ Cerere de autentificare.

Configurați mai întâi apelul ca pe orice cerere HTTP: metodă, URL, antete, corp. Apoi deschideți fila sa Configurare, care poartă cele trei setări specifice autentificării.

Fila Configurare a unei cereri de autentificare, cu cele trei secțiuni ale sale: antetele produse, expirarea în secunde și codurile de eroare de autentificare

Lista antetelor pe care această rută le va injecta în orice cerere care o referențiază. Fiecare valoare este o expresie evaluată pe corpul răspunsului cererii de autentificare.

AntetValoare
Authorization{{token_type}} {{access_token}}

O expresie, evaluată de asemenea pe corpul răspunsului, care dă durata de validitate în secunde — de regulă {{expires_in}}. Lăsată necompletată, tokenul nu expiră niciodată de la sine.

Stările HTTP care, primite de o cerere ce folosește această rută, declanșează o reînnoire a tokenului urmată de o reîncercare automată. Implicit: 401 și 403.

O cerere de autentificare este elementul pe care îl creați în arbore. O rută de autentificare este același element, văzut din altă cerere, în selectorul care îl atașează. Cei doi termeni desemnează aceeași entitate, în două locuri din interfață.

În fila cererii, în smartbar, un selector Rută de autentificare listează rutele folderului de variabile. Eticheta implicită este Fără autentificare.

Odată atașată, antetele produse sunt injectate la fiecare trimitere, tokenul este păstrat în memoria cache până la expirare, iar un 401 provoacă o reînnoire transparentă.

Cerere: POST https://auth.exemple.test/oauth/token, corp x-www-form-urlencoded cu grant_type=client_credentials, client_id={{clientId}}, client_secret={{clientSecret}} (secretul fiind o valoare de tip Secret).

Antet produs: Authorization = {{token_type}} {{access_token}}. Expirare: {{expires_in}}.

Nu este necesară nicio cerere dacă aveți deja identificatorii: puneți pur și simplu antetul pe cerere (sau pe folder):

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

Un antet sau un parametru de interogare este suficient: X-API-Key = {{apiKey}}, cheia fiind o variabilă de tip Secret.

Creați un scenariu: primul apel, extragerea codului intermediar, al doilea apel, apoi Definește variabilă pentru a pune tokenul în variabilele rulării. Cererile următoare din scenariu îl citesc cu {{jeton}}.

La importul unei specificații, schemele de securitate declarate sunt traduse în antete sau parametri precablați, cu o variabilă de mediu creată pentru dumneavoastră:

Schemă în specificațieCe pune Restorm
apiKey (antet sau interogare)O pereche numită după schemă, valoare {{<schema>}}
http / basicAuthorization: Basic {{<schema>_credentials}}
http / bearer, oauth2, openIdConnectAuthorization: Bearer {{<schema>_token}}

Nu vă mai rămâne decât să completați variabila sau să o înlocuiți cu o rută de autentificare, dacă doriți reînnoirea automată.

Identificatori nativi pentru fiecare protocol

Section titled “Identificatori nativi pentru fiecare protocol”

Unele protocoale nu trec prin antete HTTP. Identificatorii lor sunt câmpuri ale cererii înseși:

ProtocolCâmpuri
MQTTusername, password, identificator de client
AMQPusername, password, vhost
Redispassword
KafkaMecanism SASL (plain, scram-sha-256, scram-sha-512), identificator, parolă, TLS
STOMPAntetele login și passcode din CONNECT
gRPCMetadatele apelului

Fiecare dintre aceste parole acceptă o valoare de tip Secret.