Testuję implementację zabezpieczeń opartych na tokenach JWT na podstawie poniższego artykułu . Pomyślnie otrzymałem token z serwera testowego. Nie mogę dowiedzieć się, w jaki sposób program Chrome POSTMAN REST Client wysłał token w nagłówku.
Moje pytania są następujące:
1) Czy używam właściwej nazwy nagłówka i / lub interfejsu POSTMAN?
2) Czy muszę kodować token base 64? Pomyślałem, że mogę po prostu odesłać token.
Odpowiedzi:
W przypadku żądania Nazwa nagłówka po prostu użyj autoryzacji. Umieść okaziciela przed żetonem. Właśnie go wypróbowałem i działa na mnie.
Autoryzacja: okaziciel TOKEN_STRING
Każda część tokena JWT jest wartością zakodowaną w formacie base64url.
źródło
Oto obrazek, jeśli to pomaga :)
Aktualizacja:
Zespół listonosza dodał „Token okaziciela” do „karty autoryzacji”:
źródło
Do tego pytania dodaję ciekawą wskazówkę, która może pomóc wam w testowaniu JWT Apis.
Właściwie jest to bardzo proste.
Kiedy się zalogujesz, w swoim Api (punkcie końcowym logowania) natychmiast otrzymasz swój token i jak powiedział @ mick-Cullen, będziesz musiał użyć JWT w swoim nagłówku jako:
Teraz, jeśli chcesz zautomatyzować lub po prostu ułatwić sobie życie, testy możesz zapisać jako globalny token, który możesz wywoływać na wszystkich innych punktach końcowych jako:
On Postman: Następnie utwórz zmienną globalną w Postman jako jwt_token = TOKEN_STRING.
W punkcie końcowym logowania: aby było to przydatne, dodaj na początku zakładki Testy dodaj:
Domyślam się, że Twój interfejs API zwraca token jako json w odpowiedzi jako: {"jwt_token": "TOKEN_STRING"}, może występować pewien rodzaj odchylenia.
W pierwszym wierszu dodajesz odpowiedź do zmienności danych. Wyczyść swój globalny i przypisz wartość.
Więc teraz masz swój token na zmiennej globalnej, co ułatwia używanie Autoryzacji: Nośnik {{jwt_token}} na wszystkich punktach końcowych.
Mam nadzieję, że ta wskazówka pomoże.
EDYTUJ
Coś do przeczytania
O testach na Postman: przykłady testowania
Linia poleceń: Newman
CI: integracja z Jenkins
Fajny post na blogu: automatyzacja testów głównego interfejsu API
źródło
Test
zakładki i kodowania Postman. Czy jest jakiś zasób, który możesz polecić, aby zacząć od tego?Miałem ten sam problem w
Flask
i po wypróbowaniu pierwszych 2 rozwiązań, które są takie same (Authorization: Bearer <token>
), i otrzymałem to:W końcu udało mi się go rozwiązać za pomocą:
Pomyślałem, że może to zaoszczędzić trochę czasu ludziom, którzy napotykają to samo.
źródło
Authentication credentials were not provided
wdjango
użyciuBearer <token>
. rozwiązany za pomocąjwt <token>
. Dzięki za rozwiązanieOto jak automatycznie ustawić token
Na żądanie logowania / autoryzacji
Następnie dla uwierzytelnionej strony
źródło
Jeśli chcesz używać listonosza, właściwym sposobem jest używanie nagłówków jako takich
klucz: Autoryzacja
wartość: jwt {token}
tak proste jak to.
źródło
Dla osób, które używają wtyczki Wordpress Advanced Access Manager, aby otworzyć uwierzytelnianie JWT.
W polu Nagłówek należy umieścić uwierzytelnianie zamiast autoryzacji
AAM wspomniał o tym w swojej dokumentacji ,
Mam nadzieję, że to komuś pomoże! Dzięki za inne odpowiedzi też mi pomogły !!
źródło
Gotowe!
źródło
Wszystko inne tj. Params, Authorization, Body, Pre-request Script, Tests jest puste, wystarczy otworzyć zakładkę Headers i dodać, jak pokazano na obrazku. To samo dotyczy również żądania GET.
źródło
Jakoś listonosz nie pracował dla mnie. Musiałem użyć rozszerzenia Chrome o nazwie RESTED, które działało.
źródło
Zrobiłem tak, jak wspomniał moplin. Ale w moim przypadku usługa wysyła token JWT w nagłówkach odpowiedzi, jako wartość pod kluczem "Autoryzacja".
To, co zrobiłem, to zrobić zmienną globalną w listonosz jako
w żądaniu logowania-> zakładka Testy dodaj
w innych żądaniach wybierz zakładkę Nagłówki i podaj
źródło
W najnowszej wersji Postman (7 ++) może nie być pola Bearer w Authorization, więc przejdź do zakładki Header
wybierz klucz jako Authorization iw wartości wpisz JWT
źródło
Bearer Token
naAuthorization
karcie znajduje się pomocnik , dodanie wartości tokena tutaj (zakodowane na stałe lub jako zmienna dynamiczna) spowoduje utworzenie tego samegoAuthorization
nagłówka dla żądania.