Narzędzia programistyczne
Debuger online JSON Web Token

Dekodowanie JWT online

Sprawdź nagłówek i ładunek tokenu internetowego JSON. This tool does not validate signatures and processing stays in your browser.

Wejście tokenu JWT

Wklej poniższy JWT, aby natychmiast odszyfrować, sprawdzić i zweryfikować.

Oczekiwanie na wejściowy token internetowy JSON.

Odkoduj nagłówek

JSON
Po wklejeniu JWT tutaj zostanie wyświetlona przeanalizowana zawartość.

Dekoduj ładunek

Roszczenia
Po wklejeniu JWT tutaj zostanie wyświetlona przeanalizowana zawartość.

Weryfikacja podpisu JWT

Wybierz
Podpis zostanie wyświetlony tutaj po dekodowaniu.

Wprowadź klucz tajny, który będzie używany podczas wydawania tokenu JWT. Weryfikacja HS256 odbywa się natywnie w Twojej przeglądarce.

JWT

Jak korzystać z dekodowania JWT online?

  1. Wklej cały token JWT.
  2. Naciśnij „Dekoduj JWT”, aby przeanalizować nagłówek, ładunek i podpis.
  3. Gdy chcesz potwierdzić podpis, wprowadź sekret, a następnie użyj opcji „Weryfikuj podpis”.
JSON

Co to jest token sieciowy JSON?

JWT to format tokena powszechnie używany do logowania, weryfikacji API i autoryzacji między usługami. Składa się z trzech sekcji: Nagłówka, Ładunku i Podpisu.

Treść ładunku można zdekodować i odczytać, a poufnych informacji nie należy umieszczać w oświadczeniach JWT.

HS

JWT Weryfikacja i bezpieczeństwo

Ta strona obsługuje weryfikację i generowanie podpisu HS256, dzięki czemu można łatwo sprawdzić, czy token środowiska testowego został utworzony z tym samym kluczem tajnym.

Całe dekodowanie, kodowanie i weryfikacja podpisu JWT odbywa się natywnie w przeglądarce.

BAZA WIEDZY SEO JWT

Kompletny przewodnik po dekodowaniu JWT online: Co to jest JSON Web Token, jak go zweryfikować i jak go bezpiecznie używać

Jeśli szukasz „Dekodera JWT”, „Dekodera JWT”, „Parsowania tokenu sieciowego JSON”, „Weryfikacji JWT” lub „Kodera JWT”, zwykle oznacza to, że masz już token i musisz szybko zrozumieć jego nagłówek, ładunek, czas wygaśnięcia, algorytm podpisywania i oświadczenia. Ta strona nie tylko udostępnia narzędzia do dekodowania JWT online, ale także porządkuje podstawową wiedzę o JWT, o którą często pytają programiści.

Co to jest JWT?

JWT to skrót od JSON Web Token. Jest to format tokenu, który wykorzystuje JSON do reprezentowania informacji, a następnie konwertuje je na uproszczony ciąg znaków. Jest często używany w witrynach internetowych typu front-end i back-end, interfejsie API aplikacji, logowaniu członków, jednokrotnym logowaniu SSO, autoryzacji mikrousług i wymianie danych między usługami.

Dekodowanie JWT nie wymaga hasła, ponieważ nagłówek i ładunek są zakodowane tylko w formacie Base64URL, a nie szyfrowane. Każdy, kto otrzyma token, może użyć dekodera JWT, aby zobaczyć zawartość ładunku, więc oświadczenia nie mogą zawierać haseł, kluczy API ani wrażliwych danych osobowych.

Kiedy używać JWT?

Najczęstszym przypadkiem użycia jest autoryzacja. Po pomyślnym zalogowaniu się użytkownika serwer autoryzacji wystawia token JWT. Gdy front-end lub aplikacja następnie wywołuje API, token jest umieszczany w nagłówku autoryzacji HTTP, takim jak Authorization: Bearer .

JWT jest również powszechnie używany do wymiany informacji. Kiedy dwa systemy muszą wymienić weryfikowalne dane, podpisy umożliwiają odbiorcy potwierdzenie, że dane nie zostały zmienione podczas transmisji. Punkt końcowy JWKS jest powszechnie używany w dużych systemach do udostępniania kluczy publicznych, dzięki czemu różne usługi mogą zweryfikować źródło tokena.

Struktura JWT składająca się z trzech sekcji: nagłówek, ładunek, podpis

Standardowy token JWT zwykle składa się z trzech oddzielonych kropkami ciągów Base64URL: Header.Payload.Signature. Pierwsza sekcja nagłówka opisuje typ tokenu i algorytm podpisu, druga sekcja ładunku zawiera oświadczenia, a trzecia sekcja podpisu służy do weryfikacji integralności.

Typowe zarejestrowane roszczenia obejmują iss, sub, aud, exp, nbf, iat i jti. Dobra walidacja API zwykle sprawdza co najmniej exp, iss i aud.

Jak działa JWT w logowaniu i API?

Typowy proces polega na tym, że użytkownik loguje się, autoryzuje serwer w celu sprawdzenia hasła do konta lub wyniku logowania strony trzeciej, a następnie wydaje token dostępu; frontend dołącza token dostępu do żądania API; interfejs API zaplecza weryfikuje token i zwraca chronione dane.

JWT nie jest uniwersalnym zamiennikiem sesji. Po wydaniu tokena zazwyczaj można go zweryfikować bez sprawdzania bazy danych przed wygaśnięciem. Jednak unieważnianie tokenów, natychmiastowe zmiany uprawnień i przetwarzanie wylogowania nadal wymagają zaprojektowania.

Jaka jest różnica między walidacją JWT a weryfikacją JWT?

Walidacja JWT zwykle odnosi się do sprawdzenia, czy token spełnia oczekiwane reguły, takie jak czy ma trzy segmenty, czy można go zdekodować, czy JSON jest legalny, czy wygasł, czy wystawca jest poprawny i czy publiczność jest zgodna z bieżącym API.

Weryfikacja JWT użyje określonego algorytmu i klucza do ponownego obliczenia podpisu, a następnie porównania go z trzecim podpisem tokena. Zrozumienie ładunku nie oznacza, że ​​token jest godny zaufania; oficjalne API musi zostać poddane weryfikacji pieczęci i weryfikacji roszczeń.

Jaka jest różnica między dekodowaniem JWT a kodowaniem JWT?

JWT Decode konwertuje pierwszy i drugi akapit tokena z powrotem do formatu JSON, umożliwiając odczytanie nagłówka i ładunku. Kodowanie JWT to proces odwrotny: przygotuj nagłówek JSON i ładunek JSON, wygeneruj podpis i na koniec połącz je w kompletny token.

Jeśli chcesz tylko zobaczyć zawartość ładunku, nie potrzebujesz sekretu; jeśli chcesz potwierdzić, czy token rzeczywiście został wydany przez Twój system, musisz użyć prawidłowego klucza tajnego lub publicznego w celu weryfikacji podpisu. Obecnie ta strona obsługuje HS256.

Porównanie roszczeń JWT: na które pola powinienem zwrócić uwagę po dekodowaniu?

Korzystając z dekodowania JWT online należy także sprawdzić kto wystawił token, do jakiego systemu został wydany, kiedy zaczyna obowiązywać, kiedy wygasa oraz czy zakres uprawnień spełnia wymagania API. Poniższa tabela podsumowuje typowe roszczenia JWT.

RoszczenieZnaczenie chińskieCo sprawdzić podczas debugowania
jestEmitent, emitentNiezależnie od tego, czy jest to Twój serwer autoryzacyjny, czy zaufany dostawca tożsamości.
podIdentyfikator podmiotu, użytkownika lub głównego podmiotuCzy odpowiada właściwemu użytkownikowi, członkowi, kontu usługi lub urządzeniu.
dźwiękPubliczność, symboliczna publicznośćCzy wysłać go do bieżącego interfejsu API; błędy odbiorców często powodują 401.
ekspCzas ważności, czas ważnościCzy wygasł; zwróć uwagę na różnicę w wyświetlaniu znacznika czasu i strefy czasowej systemu Unix.
nbfNie wcześniej, w skutecznym momencieCzy czas użytkowania jeszcze nie nadszedł; odchylenie czasu serwera również będzie miało na to wpływ.
i takWydano o godzinie wydaniaCzy zgadza się z rzeczywistym czasem logowania lub odświeżenia tokena.
jtiIdentyfikator JWT, unikalny identyfikator tokenaNiezależnie od tego, czy można go używać do list odwołań, dzienników audytu czy ochrony przed atakami poprzez powtórzenie.
zakresZakres władzyCzy istnieją uprawnienia do odczytu, zapisu, administratora i inne wymagane przez interfejs API.

Jak wybrać pomiędzy HS256, RS256 i ES256?

alg w nagłówku JWT poinformuje weryfikatora, jakiego algorytmu należy użyć. HS256 to HMAC SHA-256 i zarówno wystawianie, jak i weryfikacja wykorzystują ten sam zestaw kluczy tajnych; RS256 wykorzystuje podpis klucza prywatnego RSA i weryfikację klucza publicznego; ES256 wykorzystuje algorytm krzywej eliptycznej.

Backend powinien jasno określać listę dozwolonych algorytmów, aby uniemożliwić atakującym wpływ na proces weryfikacji poprzez modyfikację nagłówka. Jeśli JWT pochodzi od dostawcy tożsamości, zwykle pobierz JWKS lub klucz publiczny i sprawdź kid, iss, aud, exp.

Typowe błędy JWT i metody rozwiązywania problemów

Najczęstsze problemy napotykane podczas korzystania z dekodera JWT to to, że token nie jest w standardowym formacie trzysegmentowym, ciąg Base64URL jest kopiowany niekompletnie, przed i po są białe spacje, ładunek nie jest legalnym JSON lub klucz podpisywania jest używany nieprawidłowo. Jeśli API zwróci 401 lub 403, zaleca się najpierw zdekodować JWT i potwierdzić exp, aud i zakres.

Lista kontrolna debugowania JWT
  • Czy Token jest w formacie trzysegmentowym header.payload.signature.
  • Określa, czy nagłówek autoryzacji korzysta ze schematu Nośnik.
  • Czy exp wygasło i czy czas serwera jest zsynchronizowany.
  • Czy iss i aud są spójne z bieżącym środowiskiem.
  • Czy sekret HS256 jest całkowicie spójny z końcem wydającym.
  • Czy RS256 / ES256 używa prawidłowego klucza publicznego i kid.
  • Czy oświadczenia o uprawnieniach zawierają zakres lub rolę wymaganą przez interfejs API.

Jakie są różnice między JWT, sesją i SAML?

Sesja zwykle zapisuje stan na serwerze lub w pamięci centralnej, a przeglądarka zapisuje jedynie identyfikator sesji; JWT umieszcza część stanu w tokenie, dzięki czemu API może wykorzystać podpis do sprawdzenia integralności. SAML jest oparty na języku XML i jest powszechnie używany w korporacyjnym logowaniu jednokrotnym.

PlanujOdpowiednie do sytuacjiRzeczy warte uwagi
JWTAutoryzacja API, token dostępu SSO, mikrousługiKonieczna jest kontrola czasu ważności, weryfikacji plomby, unieważnienia i wycieku wrażliwych informacji.
SesjaTradycyjne strony internetowe, które wymagają natychmiastowego wylogowania lub scentralizowanej kontroli statusuWymagany jest magazyn sesji po stronie serwera, a ekspansja między usługami wymaga dodatkowego projektu.
SAMLIntegracja tożsamości przedsiębiorstwa, starsze systemy SSOStruktury XML są większe, a podpisy i ustawienia są zwykle bardziej złożone.

Porada dotycząca bezpieczeństwa JWT: SEO White Hat powinno również wyraźnie opisać ryzyko

  • Nie umieszczaj haseł, kluczy prywatnych, kluczy API, informacji o płatnościach ani wrażliwych danych osobowych w nagłówku JWT lub ładunku.
  • Ustaw rozsądny exp i nie pozostawiaj tokena dostępu ważnego przez długi czas.
  • Dozwolone algorytmy muszą zostać naprawione podczas weryfikacji zaplecza i nie należy ślepo ufać alg nagłówka.
  • Użyj wystarczająco długiego i losowego sekretu HS256; nie używaj przykładowych kluczy tajnych w środowiskach produkcyjnych.
  • Sprawdź iss, aud, nbf, iat z niezbędnymi uprawnieniami.
  • Unikaj umieszczania zbyt dużej listy uprawnień w JWT, aby uniknąć zbyt dużego nagłówka lub spowodowania wycieku danych.
  • Tokeny pamięci masowej frontonu muszą oceniać XSS, CSRF, atrybuty plików cookie i ryzyko związane z przechowywaniem przeglądarki.

To internetowe narzędzie do dekodowania JWT wykorzystuje natywne przetwarzanie przeglądarki: token, sekret, nagłówek JSON i ładunek JSON, które wklejasz, nie zostaną przesłane na serwer ToolBoy. Mimo to w przypadku prawdziwych tokenów produkcyjnych należy nadal przestrzegać zasady minimalnego ujawniania informacji.

JWT często pojawia się w procesie debugowania API razem z JSON, Base64URL, zapytaniem URL, znacznikiem czasu, SHA-256, UUID, regex i innymi formatami danych. Możesz użyć narzędzia do formatowania JSON ToolBoy, kodowania i dekodowania Base64, Uniksowego znacznika czasu konwersja lub generator UUID.

Dalsze informacje można znaleźć w Wprowadzenie do tokena internetowego JSON JWT.io i RFC 7519. Zawartość tej strony została zreorganizowana i przepisana w języku chińskim, koncentrując się na praktycznym debugowaniu, SEO typu „biały kapelusz” i natywnej prywatności.

Często zadawane pytania dotyczące dekodowania JWT online

Czy dekodowanie JWT online zweryfikuje podpis?
Dekodowanie nagłówka i ładunku nie jest równoznaczne z weryfikacją podpisu; aby potwierdzić, czy token został naruszony, wprowadź ten sam sekret i wykonaj opcję Weryfikuj.
Czy ładunek JWT może zawierać hasła lub klucze?
Niezalecane. Ogólnie rzecz biorąc, JWT jest zakodowany tylko w formacie Base64URL i każdy, kto uzyska token, może odczytać ładunek.
Czy koder JWT nadaje się do oficjalnego wydawania tokenów?
To narzędzie nadaje się do programowania, testowania i debugowania. Środowisko formalne powinno posiadać tokeny wydawania usług zaplecza i odpowiednio zarządzać sekretami lub kluczami prywatnymi.