Przejdź do głównej zawartości

Uwierzytelnianie

Restorm nie ma listy rozwijanej „typ uwierzytelniania”. Ma coś bardziej ogólnego: żądanie uwierzytelniania, czyli pełnoprawne żądanie, którego rolą jest wytwarzanie nagłówków dla pozostałych.

Zaleta: można odwzorować dowolny schemat, w tym taki, którego nie przewiduje żadna lista rozwijana — wymianę w dwóch etapach, podpisany token, autorskie API. Wada: trzeba go raz opisać.

Kliknięcie prawym przyciskiem na folderze zmiennychDodaj ▸ Żądanie uwierzytelniania.

Najpierw należy skonfigurować wywołanie jak każde inne żądanie HTTP: metoda, adres URL, nagłówki, treść. Następnie otwiera się jego zakładkę Konfiguracja, która zawiera trzy ustawienia właściwe dla uwierzytelniania.

Zakładka Konfiguracja żądania uwierzytelniania z trzema sekcjami: wytwarzane nagłówki, wygaśnięcie w sekundach oraz kody błędów uwierzytelniania

Lista nagłówków, które ta trasa wstrzyknie do każdego żądania odwołującego się do niej. Każda wartość jest wyrażeniem obliczanym na treści odpowiedzi żądania uwierzytelniania.

NagłówekWartość
Authorization{{token_type}} {{access_token}}

Wyrażenie, również obliczane na treści odpowiedzi, które podaje czas ważności w sekundach — zazwyczaj {{expires_in}}. Pozostawione puste oznacza, że token nigdy nie wygasa samodzielnie.

Statusy HTTP, które — otrzymane przez żądanie korzystające z tej trasy — wywołują odnowienie tokenu, a następnie automatyczną ponowną próbę. Domyślnie: 401 i 403.

Żądanie uwierzytelniania to element tworzony w drzewie. Trasa uwierzytelniania to ten sam element widziany z innego żądania, w selektorze, który go dołącza. Oba terminy oznaczają tę samą encję, w dwóch miejscach interfejsu.

W zakładce żądania, w smartbarze, selektor Trasa uwierzytelniania wymienia trasy danego folderu zmiennych. Domyślna etykieta to Brak uwierzytelniania.

Po dołączeniu wytwarzane nagłówki są wstrzykiwane przy każdym wysłaniu, token jest przechowywany w pamięci podręcznej do momentu wygaśnięcia, a odpowiedź 401 powoduje niewidoczne dla użytkownika odnowienie.

Żądanie: POST https://auth.exemple.test/oauth/token, treść x-www-form-urlencoded z grant_type=client_credentials, client_id={{clientId}}, client_secret={{clientSecret}} (gdzie sekret jest wartością typu Sekret).

Wytwarzany nagłówek: Authorization = {{token_type}} {{access_token}}. Wygaśnięcie: {{expires_in}}.

Jeśli dane uwierzytelniające są już znane, żadne żądanie nie jest potrzebne — wystarczy ustawić nagłówek na żądaniu (albo na folderze):

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

Wystarczy nagłówek lub parametr zapytania: X-API-Key = {{apiKey}}, gdzie klucz jest zmienną typu Sekret.

Należy utworzyć scenariusz: pierwsze wywołanie, wyodrębnienie kodu pośredniego, drugie wywołanie, a następnie akcja Ustaw zmienną, aby umieścić token w zmiennych uruchomienia. Kolejne żądania scenariusza odczytują go przez {{jeton}}.

Przy imporcie specyfikacji zadeklarowane schematy zabezpieczeń są tłumaczone na wstępnie podłączone nagłówki lub parametry, wraz z utworzoną zmienną środowiskową:

Schemat w specyfikacjiCo ustawia Restorm
apiKey (nagłówek lub zapytanie)Parę nazwaną według schematu, wartość {{<schema>}}
http / basicAuthorization: Basic {{<schema>_credentials}}
http / bearer, oauth2, openIdConnectAuthorization: Bearer {{<schema>_token}}

Pozostaje jedynie wypełnić zmienną albo zastąpić ją trasą uwierzytelniania, gdy potrzebne jest automatyczne odnawianie.

Natywne dane uwierzytelniające poszczególnych protokołów

Section titled “Natywne dane uwierzytelniające poszczególnych protokołów”

Część protokołów nie korzysta z nagłówków HTTP. Ich dane uwierzytelniające są polami samego żądania:

ProtokółPola
MQTTusername, password, identyfikator klienta
AMQPusername, password, vhost
Redispassword
KafkaMechanizm SASL (plain, scram-sha-256, scram-sha-512), identyfikator, hasło, TLS
STOMPNagłówki login i passcode polecenia CONNECT
gRPCMetadane wywołania

Każde z tych haseł przyjmuje wartość typu Sekret.