Dekoder JWT

Natychmiastowe dekodowanie tokenów sieciowych JSON (JWT) w celu przeglądania nagłówków, ładunków i roszczeń bez weryfikacji. Ten darmowy dekoder JWT online pomaga programistom w debugowaniu tokenów uwierzytelniających, sprawdzaniu tokenów OAuth i zrozumieniu struktury tokenów. Uwaga: To narzędzie dekoduje tokeny, ale nie weryfikuje podpisów ze względów bezpieczeństwa.

Często zadawane pytania

JWT (JSON Web Token) to kompaktowy, bezpieczny dla adresów URL token używany do uwierzytelniania i wymiany informacji między stronami. Dekodowanie JWT pozwala wyświetlić nagłówek (typ tokena i algorytm), ładunek (roszczenia i dane użytkownika) oraz podpis. Programiści dekodują JWT w celu debugowania problemów z uwierzytelnianiem, sprawdzania uprawnień użytkowników lub zrozumienia zawartości tokena podczas programowania.

Wystarczy wkleić token JWT w polu wejściowym i kliknąć "Decode JWT". Narzędzie natychmiast przeanalizuje token i wyświetli nagłówek i ładunek w czytelnym formacie JSON. Zobaczysz wszystkie roszczenia, czasy wygaśnięcia, informacje o wydawcy i wszelkie niestandardowe dane przechowywane w tokenie.

Nie, ten dekoder wyświetla tylko zawartość nagłówka i ładunku JWT - nie weryfikuje podpisu. Weryfikacja podpisu wymaga klucza tajnego lub publicznego, którego nigdy nie należy udostępniać ani wprowadzać do narzędzi online. Ze względów bezpieczeństwa należy zawsze weryfikować JWT po stronie serwera przy użyciu odpowiednich bibliotek z tajnymi kluczami.

Zdekodowany JWT zazwyczaj zawiera: typ tokena i algorytm podpisywania w nagłówku; oraz oświadczenia, takie jak "iss" (wystawca), "sub" (podmiot), "aud" (odbiorcy), "exp" (czas wygaśnięcia), "iat" (wydany w) oraz wszelkie niestandardowe oświadczenia w ładunku. Informacje te pomagają zrozumieć, kto wydał token, kiedy wygasa i jakie uprawnienia lub dane zawiera.

Dekodowanie JWT po stronie klienta jest ogólnie bezpieczne, ponieważ JWT są zaprojektowane tak, aby każdy mógł je odczytać - są kodowane base64, a nie szyfrowane. Nigdy jednak nie należy dekodować JWT zawierających bardzo wrażliwe dane za pomocą publicznych narzędzi online. Narzędzie to przetwarza tokeny całkowicie w przeglądarce bez wysyłania danych na serwery, ale należy unikać używania go z tokenami produkcyjnymi zawierającymi poufne informacje.

JWT mają standardową strukturę z trzema zakodowanymi w base64 częściami oddzielonymi kropkami: header.payload.signature. Nagłówek opisuje typ tokena i algorytm, ładunek zawiera oświadczenia i dane, a podpis zapewnia, że token nie został zmodyfikowany. Ta struktura sprawia, że JWT są kompaktowe i bezpieczne dla adresów URL przy jednoczesnym zachowaniu bezpieczeństwa.

Zdekodowane tokeny JWT zawierają wartość "exp" (expiration), która jest uniksowym znacznikiem czasu. Ten znacznik czasu należy porównać z bieżącym czasem - jeśli bieżący czas jest większy niż wartość exp, token wygasł. Dekoder wyświetla ten znacznik czasu w czytelnym formacie, aby pomóc zweryfikować ważność tokena.

"iat" (wydany w) wskazuje, kiedy token został utworzony, "exp" (czas wygaśnięcia) wskazuje, kiedy wygasa, a "nbf" (nie wcześniej) określa, kiedy token staje się ważny. Te znaczniki czasu pomagają kontrolować cykl życia tokena i zapobiegają ponownemu użyciu tokena w różnych okresach czasu.

Tak! Tokeny dostępu OAuth 2.0 i tokeny identyfikacyjne OpenID Connect często używają formatu JWT. Dekodowanie ich ujawnia zakresy, uprawnienia, identyfikatory użytkowników i szczegóły uwierzytelniania. Jest to nieocenione przy debugowaniu przepływów uwierzytelniania, weryfikacji przyznanych uprawnień i rozwiązywaniu problemów z integracją.

JWT z "algorytmem: brak" (zwany również niezabezpieczonym JWT) nie ma weryfikacji podpisu. Jest to niebezpieczne w produkcji i często wskazuje na lukę w zabezpieczeniach. Legalne JWT powinny używać algorytmów takich jak RS256, HS256 lub ES256. Jeśli widzisz "brak", natychmiast zbadaj sprawę, ponieważ może to wskazywać na lukę w zabezpieczeniach.