Jeśli zaczynasz naukę testowania API albo backendu, to prędzej czy później trafisz na JWT token. Problem jest taki, że wiele osób tłumaczy to w bardzo skomplikowany sposób. Pojawiają się jakieś podpisy cyfrowe, szyfrowanie, payloady i nagle początkujący tester nie wie już, o co chodzi.
A prawda jest taka, że sam mechanizm JWT wcale nie jest aż tak trudny.
W tym wpisie pokażę Ci krok po kroku:
- czym jest JWT,
- jak działa,
- gdzie jest używany,
- jak wygląda w praktyce,
- oraz dlaczego testerzy bardzo często pracują z tokenami podczas testowania API.

Czym właściwie jest JWT?
JWT to skrót od JSON Web Token.
Najprościej mówiąc:
to specjalny token, który potwierdza, że użytkownik jest zalogowany i ma dostęp do aplikacji albo API.
Czyli zamiast wysyłać login i hasło przy każdym requestcie, użytkownik dostaje token i to właśnie nim „przedstawia się” aplikacji.
Trochę jak przepustka albo identyfikator.
Jak wygląda JWT token?
JWT wygląda mniej więcej tak:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
.
eyJ1c2VySWQiOjEyMywicm9sZSI6ImFkbWluIn0
.
SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5cNa pierwszy rzut oka wygląda to jak losowy ciąg znaków, ale token składa się z trzech części:
HEADER.PAYLOAD.SIGNATUREI każda z nich ma swoje zadanie.
1. Header
Header zawiera informacje techniczne o tokenie.
Między innymi:
- jaki algorytm został użyty,
- jaki typ tokenu jest wykorzystywany.
Przykład:
{
"alg": "HS256",
"typ": "JWT"
}Czyli aplikacja wie, jak ma zweryfikować token.
2. Payload
Payload to najważniejsza część.
Tutaj znajdują się dane użytkownika.
Na przykład:
{
"userId": 15,
"email": "test@test.pl",
"role": "admin"
}I właśnie tutaj początkujący często popełniają błąd.
JWT nie szyfruje tych danych.
One są jedynie zakodowane w Base64, więc praktycznie każdy może je odczytać.
Dlatego nigdy nie powinno się wrzucać tam haseł albo bardzo wrażliwych danych.
3. Signature
Na końcu znajduje się podpis cyfrowy.
To właśnie on sprawia, że aplikacja może sprawdzić:
- czy token nie został zmodyfikowany,
- czy token jest prawdziwy,
- czy został wygenerowany przez backend.
I to jest najważniejszy element bezpieczeństwa JWT.
Jak działa JWT krok po kroku?
Załóżmy prosty scenariusz.
Krok 1 — logowanie
Użytkownik wysyła login i hasło do API.
POST /loginBackend sprawdza dane.
Krok 2 — wygenerowanie tokenu
Jeśli dane są poprawne, serwer tworzy JWT token i odsyła go do użytkownika.
Przykład odpowiedzi:
{
"token": "eyJhbGciOi..."
}Krok 3 — wysyłanie tokenu przy requestach
Od tego momentu użytkownik wysyła token przy każdym requestcie.
Najczęściej wygląda to tak:
Authorization: Bearer eyJhbGciOi...I właśnie dlatego podczas testowania API w Postmanie bardzo często widzisz zakładkę Authorization.
Co oznacza Bearer?
Bearer oznacza mniej więcej:
„Osoba posiadająca ten token ma dostęp”.
Czyli:
jeśli ktoś przechwyci ważny token, może podszyć się pod użytkownika.
Dlatego bezpieczeństwo JWT jest bardzo ważne.
JWT a testowanie API
Testerzy bardzo często pracują z JWT.
Przykładowo:
- logują się przez endpoint API,
- pobierają token,
- wykorzystują go w kolejnych requestach,
- testują wygasanie tokenu,
- sprawdzają role użytkowników,
- analizują błędy autoryzacji.
Bardzo często spotkasz się też z błędami:
- 401 Unauthorized,
- 403 Forbidden,
- expired token,
- invalid signature.
I właśnie dlatego warto rozumieć, jak działa JWT, nawet jeśli jesteś manual testerem.
Czy JWT jest bezpieczny?
Tak — ale pod warunkiem, że jest dobrze używany.
Najczęstsze problemy to:
- zbyt długi czas życia tokenu,
- przechowywanie tokenu w złym miejscu,
- brak HTTPS,
- umieszczanie wrażliwych danych w payloadzie.
Sam JWT nie jest „zły”.
Problem zwykle pojawia się przy błędnej implementacji.
Jak podejrzeć dane z JWT?
Możesz wkleić token na stronę:
jwt.io
I zobaczyć:
- header,
- payload,
- algorytm,
- datę wygaśnięcia tokenu.
To bardzo przydatne podczas testowania API.
Podsumowanie
JWT to jeden z tych tematów, które na początku wydają się trudne, ale kiedy rozłożysz je na części, wszystko zaczyna mieć sens.
Najważniejsze rzeczy, które warto zapamiętać:
- JWT służy do autoryzacji użytkownika,
- token składa się z 3 części,
- payload można odczytać,
- podpis cyfrowy zabezpiecza token,
- JWT jest bardzo często używany w REST API.
I szczerze?
Jeśli chcesz iść bardziej w API testing, backend albo automatyzację testów, to znajomość JWT jest praktycznie obowiązkowa.


