Przejdź do treści
nestoo
  • Mój adres IPTwój publiczny adres IPv4 i IPv6, lokalizacja i dostawca internetu.Sieć i IP
  • Wyszukiwanie IPLokalizacja, dostawca i sieć dowolnego adresu IP.Sieć i IP
  • Sprawdzanie DNSA, AAAA, MX, TXT, NS i inne rekordy DNS dowolnej domeny.Sieć i IP
  • Sprawdzanie WHOISWłaściciel, rejestrator i data wygaśnięcia dowolnej domeny lub IP.Sieć i IP
  • Sprawdzanie portówSprawdź, czy port jest otwarty na Twoim IP lub serwerze.Sieć i IP
  • Sprawdzanie nagłówków HTTPNagłówki odpowiedzi, kody statusu i łańcuch przekierowań adresu URL.Sieć i IP
  • Sprawdzanie certyfikatów SSLWażność, data wygaśnięcia i łańcuch certyfikatu dowolnej strony.Sieć i IP
  • Generator hasełSilne, losowe hasła generowane bezpośrednio w Twojej przeglądarce.Hasła i bezpieczeństwo
  • Sprawdzanie siły hasłaIle czasu zajęłoby złamanie hasła i czy wyciekło.Hasła i bezpieczeństwo
  • Generator hashyHashe MD5, SHA-1, SHA-256, SHA-512 i CRC32 tekstu lub plików.Hasła i bezpieczeństwo
  • Formater JSONFormatowanie, walidacja i minifikacja JSON z dokładnym wskazaniem błędów.Narzędzia dla programistów
  • Koder i dekoder Base64Zakoduj tekst lub plik w Base64 i zdekoduj go z powrotem.Narzędzia dla programistów
  • Koder i dekoder URLKoduj i dekoduj adresy URL i parametry zapytań, analizuj dowolny URL.Narzędzia dla programistów
  • Dekoder JWTOdczytaj nagłówek i pola (claims) tokena JWT.Narzędzia dla programistów
  • Generator UUIDLosowe identyfikatory UUID v4 i uporządkowane czasowo v7.Narzędzia dla programistów
  • Konwerter czasu UnixZamieniaj znaczniki czasu Unix na daty i daty na czas epoch.Narzędzia dla programistów
  • Konwerter binarnyTekst na kod binarny i przeliczanie liczb między systemami.Narzędzia dla programistów
  • Licznik słów i znakówLiczba słów, znaków i zdań oraz czas czytania tekstu.Narzędzia tekstowe
  • Zmiana wielkości literWIELKIE LITERY, małe litery, camelCase, snake_case i inne style zapisu.Narzędzia tekstowe
  • Porównywarka tekstówPorównaj dwa teksty i podświetl różnice.Narzędzia tekstowe
  • Generator kodów QRDarmowe kody QR dla linków, tekstu, Wi-Fi i kontaktów – w PNG lub SVG.Narzędzia na co dzień
  • Kalkulator procentowyProcent z liczby, zmiana procentowa, wzrost i spadek.Narzędzia na co dzień
  • Przelicznik jednostekPrzeliczaj długość, wagę, temperaturę, objętość, dane i nie tylko.Narzędzia na co dzień

Dekoder JWT

Wklej JSON Web Token, aby odczytać jego nagłówek i pola (claims), sprawdzić, czy nie wygasł, i zweryfikować podpis. Dekodowanie odbywa się w Twojej przeglądarce, więc token nigdy nie opuszcza Twojego urządzenia.

Dekodowanie odbywa się w Twojej przeglądarce. Token, sekret i klucze nigdy nie są nigdzie wysyłane.

Działa w Twojej przeglądarce. To, co wpisujesz, nigdy nie opuszcza Twojego urządzenia.

Jak korzystać z narzędzia

  1. 1Wklej token w pole – z prefiksem „Bearer” lub bez niego. Nagłówek i payload są dekodowane na bieżąco podczas wpisywania.
  2. 2Sprawdź wiersz statusu: pokazuje, czy token jest ważny, wygasł czy jeszcze nie jest ważny – na podstawie pól exp i nbf.
  3. 3Przeczytaj standardowe pola – wystawcę, podmiot, odbiorcę i czasy – ze znacznikami czasu pokazanymi jako daty w Twojej strefie czasowej.
  4. 4Aby sprawdzić podpis, wpisz współdzielony sekret dla tokenów HS256 albo wklej klucz publiczny lub zestaw JWK dla RS256, ES256 i innych algorytmów z parą kluczy.

Co jest w środku JWT

JSON Web Token to trzy części zakodowane w Base64URL i połączone kropkami: header.payload.signature. Nagłówek mówi, jak token jest podpisany, np. {"alg":"HS256","typ":"JWT"}. Payload zawiera pola (claims) – informacje o użytkowniku i tokenie, takie jak identyfikator użytkownika, role i czas wygaśnięcia. Podpis dowodzi, że dwie pierwsze części pochodzą od posiadacza klucza i nie zostały zmienione.

Base64URL to kodowanie, a nie szyfrowanie: każdy, kto ma token, może odczytać jego payload – dokładnie tak jak to narzędzie. Nigdy nie umieszczaj w JWT haseł ani innych sekretów. Jeśli zawartość musi pozostać poufna, wystawca powinien użyć zaszyfrowanego tokena (JWE), który ma pięć części i można go odczytać tylko właściwym kluczem.

Standardowe pola i wygasanie

RFC 7519 definiuje siedem zarejestrowanych pól. iss (issuer) wskazuje, kto utworzył token, sub (subject), kogo dotyczy – zwykle jest to identyfikator użytkownika – a aud (audience), dla jakiej usługi jest przeznaczony. exp (expiration time), nbf (not before) i iat (issued at) to znaczniki czasu w sekundach od 1 stycznia 1970 roku, a jti to unikalny identyfikator, dzięki któremu serwer może wykryć ponowne użycie tokena.

Serwer musi odrzucić token po czasie exp i przed czasem nbf. Krótki czas życia – dla tokenów dostępu często od 5 do 60 minut – ogranicza szkody w razie kradzieży tokena, dlatego aplikacje używają tokenów odświeżania (refresh tokens), aby uzyskiwać nowe.

Sprawdzanie podpisu

Dekodowanie pokazuje, co token deklaruje; tylko podpis mówi, czy można mu wierzyć. HS256, HS384 i HS512 używają współdzielonego sekretu znanego zarówno wystawcy, jak i serwerowi. RS256, PS256, ES256, EdDSA i podobne algorytmy używają pary kluczy: wystawca podpisuje kluczem prywatnym, a każdy może zweryfikować podpis kluczem publicznym. Dostawcy tożsamości publikują swoje klucze publiczne jako zestaw JWK, często pod adresem URL kończącym się na /.well-known/jwks.json.

Weryfikacja odbywa się lokalnie za pomocą Web Crypto API Twojej przeglądarki i nic, co wkleisz, nie jest nigdzie wysyłane. Mimo to ostrożnie obchodź się z sekretami produkcyjnymi – i pamiętaj, że do weryfikacji tokena nigdy nie jest potrzebny klucz prywatny, więc wklejaj tylko klucze publiczne.

Pytania i odpowiedzi

Czy wklejanie JWT tutaj jest bezpieczne?

Tak. Token jest dekodowany i weryfikowany w Twojej przeglądarce i nigdy nie trafia do nestoo ani do nikogo innego. Pamiętaj jednak, że ważny token dostępu działa jak tymczasowe hasło: każdy, kto go skopiuje, może go używać, dopóki nie wygaśnie, więc nie udostępniaj aktywnych tokenów na czatach ani w zgłoszeniach.

Czy JWT można zdekodować bez sekretu?

Tak. Nagłówek i payload są jedynie zakodowane w Base64URL, więc każdy może je odczytać bez klucza. Sekret lub klucz prywatny jest potrzebny do utworzenia prawidłowego podpisu, a sekret lub klucz publiczny – do jego weryfikacji.

Dlaczego mój token pokazuje „Nieprawidłowy podpis”?

Zwykle sekret lub klucz jest niewłaściwy: klucz z innego środowiska, sekret, który trzeba najpierw zdekodować z Base64, albo klucz publiczny z innym kid. Zdarza się to też, gdy token został zmieniony lub ucięty podczas kopiowania. W przypadku tokenów od dostawcy tożsamości użyj jego aktualnego zestawu JWK.

Czym różni się JWS od JWE?

JWS to podpisany token z trzema częściami: każdy może go odczytać, ale nikt nie może go zmienić bez unieważnienia podpisu. JWE to zaszyfrowany token z pięcioma częściami i tylko posiadacz klucza deszyfrującego może odczytać jego zawartość. Większość tokenów nazywanych JWT to JWS.

Co oznaczają exp, iat i nbf?

To czasy w sekundach od 1 stycznia 1970 roku, znane jako czas uniksowy (Unix time). exp to moment wygaśnięcia tokena, iat – moment jego wystawienia, a nbf – moment, przed którym nie wolno go akceptować. To narzędzie pokazuje je jako daty w Twojej strefie czasowej i podaje, ile czasu minęło od nich lub pozostało do nich.