Przejdź do treści

Generator JWT

Twórz i podpisuj JSON Web Tokeny z HMAC bezpośrednio w przeglądarce.

Wejście
Wynik

Generator JWT

Wpisz JSON payload i to narzędzie utworzy kompletny JSON Web Token: zbuduje nagłówek z wybranego algorytmu, zakoduje nagłówek i payload jako Base64URL i podpise wynik HMAC. Użyj go do tworzenia tokenów testowych dla API, debugowania przepływu autentykacji lub aby zobaczyć dokładnie jak wyglądają dane roszczenia po zakodowaniu.

Wybierz HS256, HS384 lub HS512 i wpisz klucz tajny którym token powinien być podpisany — ten sam klucz który serwer będzie używać do weryfikacji. Przełączniki szybkiego wypełnienia dodają zwykłe roszczenia czasowe bez ręcznego wpisywania: "iat" oznacza token bieżącym czasem, "ważny przez" ustawia "exp" na teraz plus wybrany czas trwania (od 15 minut do 30 dni, lub żaden), i "nbf" oznacza token jako nieważny aż do tej pory. Oddzielne pola ustawiają "sub" i "iss" gdy potrzebujesz roszczenia podmiotu lub wydawcy. Roszczenie szybkiego wypełnienia zawsze zastępuje to samo nazwane roszczenie już w JSON, więc możesz zacząć od szablonu payload i pozwolić przełącznikom wypełnić resztę.

Payload może być ładnie sformatowany lub kompaktowy — ładne formatowanie zmienia tylko sposób osadzenia JSON, nie na co się dekoduje. Po podpisaniu narzędzie dekoduje token które właśnie utworzył i niezależnie ponownie sprawdza podpis za pomocą Web Crypto API, więc linia sumy potwierdza że token faktycznie się weryfikuje zamiast po prostu tego zakładać. Bardzo duże payload są obsługiwane aż do limitu wyników 10 MB i ten sam klucz tajny i payload zawsze tworzą ten sam token — nic tutaj nie zależy od losowości.

Wszystko działa lokalnie w przeglądarce: payload, klucz tajny i samo podpisywanie nigdy nie opuszczają Twoją urządzenie ani serwer. Skopiuj token, pobierz go jako plik .txt, lub wyślij go bezpośrednio do dekodera JWT aby zobaczyć co właśnie utworzyłeś.

Częste pytania

Ktore algorytmy sa obsługiwane?
HS256, HS384 i HS512 — podpisywanie HMAC z SHA-256, SHA-384 lub SHA-512. Asymetryczne algorytmy takie jak RS256 lub ES256 wymagają pary kluczy prywatnych i nie są tutaj obsługiwane.
Co sie stanie jesli zostawie payload pusty?
Pusty payload jest traktowany jako pusty obiekt JSON. W połączeniu z przełącznikami szybkiego wypełnienia możesz nadal wygenerować token który niesie tylko roszczenia takie jak "iat" i "exp".
Czy roszczenia szybkiego wypełnienia przepiszą to co napisalem?
Tak, celowo: "iat", "exp", "nbf", "sub" i "iss" z przełączników i pól zawsze mają pierwszeństwo przed tymi samymi roszczeniami już w JSON payload.
Jak sie weryfikuje podpis?
Po podpisaniu narzędzie dekoduje token które właśnie utworzył i niezależnie ponownie sprawdza podpis za pomocą Web Crypto API przeglądarki, następnie zgłasza wynik w linii sumy.
Czy moj klucz tajny lub payload jest gdzies przeslany?
Nie. Cały token jest tworzony i podpisywany w przeglądarce za pomocą Web Crypto API — klucz tajny, payload i wynikowy token nigdy nie opuszczają Twoje urządzenie a klucz tajny nigdy nie jest przechowywany w lokalnym magazynie.