0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
Ustawienia
Generuje i dekoduje JSON Web Tokens (JWT) za pomocą algorytmów HS256, HS384, HS512, RS256 i RS512. W trybie Generate, uzupełnij ładunek JSON i klucz tajny, aby utworzyć token. W Read, wklej istniejący token, aby sprawdzić jego nagłówek, ładunek i zweryfikować podpis.

HMAC z SHA-256. Wspólny klucz symetryczny. Polecane do ogólnego użytku.

Tajny Klucz
Wejście

Jak to działa

JSON Web Token (JWT) to zwięzły, podpisany token przenoszący informacje (claims) między dwiema stronami. Składa się z trzech części oddzielonych kropkami —nagłówka, ładunku i podpisu—, każda zakodowana w Base64URL.

W trybie Generuj definiujesz nagłówek i ładunek w JSON i podpisujesz tajnym kluczem (HMAC) lub kluczem prywatnym (RSA/ECDSA). W trybie Czytaj wklejasz istniejący token, aby sprawdzić jego treść i zweryfikować podpis.

Ładunek nie jest szyfrowany: każdy może go odczytać, dekodując Base64URL. Podpis gwarantuje tylko, że token nie został zmieniony, nie ukrywa go. Nigdy nie umieszczaj wrażliwych danych w JWT.

Przykłady

header{"alg":"HS256","typ":"JWT"} → eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
payload{"sub":"1234567890","name":"John Doe","iat":1516239022} → eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ
tokeneyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5cPodpis (trzecia część) zależy od algorytmu i klucza; ten przykład używa HS256 z kluczem "your-256-bit-secret".

Przypadki użycia

  • Uwierzytelniać użytkowników w API: serwer wystawia podpisany token i weryfikuje go przy każdym żądaniu bez przechowywania sesji.
  • Sprawdzać i debugować tokeny uwierzytelniania, aby zobaczyć ich claimy (sub, exp, role) i daty.
  • Zweryfikować podpis tokenu za pomocą tajnego klucza lub klucza publicznego, aby potwierdzić, że nie został zmanipulowany.
  • Generować testowe tokeny z różnymi algorytmami (HMAC, RSA, ECDSA) podczas tworzenia przepływu uwierzytelniania.

Najczęstsze pytania

Czy zawartość JWT jest szyfrowana?

Nie. Nagłówek i ładunek są tylko zakodowane w Base64URL, co każdy może zdekodować. Podpis gwarantuje integralność (że nie zmieniono), nie poufność.

Jaka jest różnica między HS256 a RS256?

HS256 używa jednego wspólnego tajnego klucza do podpisywania i weryfikacji (HMAC). RS256 jest asymetryczny: podpisuje kluczem prywatnym i weryfikuje publicznym, idealny, gdy wiele usług musi weryfikować bez możliwości wystawiania.

Co oznaczają claimy iat, exp i nbf?

To standardowe znaczniki czasu: iat (wystawiono o), exp (wygasa o) i nbf (nieważny przed). Wyrażane są w sekundach od 1970 (epoka Unix).

Dlaczego odradza się algorytm "none"?

Ponieważ tworzy token bez podpisu: każdy może zmienić ładunek, a token nadal będzie akceptowany. Przydaje się tylko do testów, nigdy w produkcji.

Czy mój token jest wysyłany na serwer?

Nie. Generowanie, dekodowanie i weryfikacja odbywają się w całości w przeglądarce; token i klucze nigdy nie opuszczają Twojego urządzenia.