JWT Dekoder/

Twoje dane są w 100% prywatne — JWT jest w pełni dekodowany i kodowany bezpośrednio na twoim urządzeniu.

JWT
Zdekodowany nagłówek
Zdekodowany ładunek
Klucz publiczny

Dowiedz się o JWT

Wszystkie informacje na temat JWT oraz krok po kroku przewodnik weryfikacji JWT w różnych środowiskach.

Czym jest JWT?

JWT (JSON Web Token) to niezależny od stanu, samodzielny token, który przenosi informacje w ustrukturyzowanym i czytelnym formacie. Niezależnie od tego, czy chcesz chronić API, czy zastosować uwierzytelnianie oparte na tokenach dla swojej aplikacji, JWT są potężnym narzędziem, bo:

  • Bezstanowy: JWT są samodzielne i nie wymagają przechowywania po stronie serwera do weryfikacji. JWT mogą zapewnić integralność danych za pomocą podpisów.
  • Zgodność między usługami: JWT mogą być łatwo udostępniane i weryfikowane między różnymi usługami.
  • Rozszerzalny: Ładunek JWT może zawierać niestandardowe roszczenia, umożliwiając elastyczne autoryzacje i wymianę informacji.
Dowiedz się więcej

Struktura JWT

Typowy JWT jest podzielony na trzy części, każda zakodowana w Base64URL i oddzielona kropkami (.):

  • Nagłówek - Zawiera metadane, takie jak algorytm podpisu (np. HS256 lub RS256) oraz typ tokenu (JWT).
  • Ładunek - Zawiera rzeczywiste dane, takie jak identyfikator użytkownika, profil użytkownika, czas wygaśnięcia lub zakresy.
  • Podpis - Połączony haszem Nagłówek, Ładunek i zabezpieczony za pomocą klucza tajnego. Jego celem jest zapewnienie integralności tokenu i potwierdzenie, że nie został on zmieniony.

Ta struktura umożliwia JWT zapewnienie kompaktowego, bezpiecznego sposobu przesyłania informacji między stronami.

jwt_structure

Typowe roszczenia tokenu w JWT

Roszczenia są częścią ładunku i zawierają kluczowe informacje. Oto znormalizowane zarejestrowane roszczenia, do których możesz się odnieść:

RoszczeniaPełna nazwaOpis
issWystawcaJednostka, która wystawiła JWT, na przykład serwer autoryzacyjny.
subTematIdentyfikuje temat JWT, zazwyczaj reprezentujący uwierzytelnionego użytkownika.
audOdbiorcaOkreśla, które podmioty mogą zaakceptować i przetworzyć token. Może to być tablica wartości dla wielu odbiorców lub pojedyncza wartość dla jednego odbiorcy.
expCzas wygaśnięciaUstawia czas wygaśnięcia tokenu, po którym staje się on nieważny. Pomaga to zapobiegać atakom powtórzeniowym, ograniczając czas ważności tokenu.
nbfNie przedUznaje token za ważny tylko po tym znaczniku czasu. Przydatne w sytuacjach, gdy zegary nie są dostępne.
iatWystawiony oKiedy token został utworzony. Może być użyty do określenia wieku tokenu.
jtiID JWTUnikalny identyfikator dla tokenu, przydatny do zapobiegania wielokrotnemu użyciu tego samego tokenu (np. w atakach powtórzeniowych).

W zależności od specyfikacji i konfiguracji serwera autoryzacji, w ładunku mogą zostać uwzględnione dodatkowe roszczenia, aby wspierać określone przypadki użycia. Możesz również dodać niestandardowe roszczenia do JWT, aby sprostać unikalnym wymaganiom biznesowym.

Ostrzeżenie: Nie przechowuj prywatnych ani poufnych informacji w roszczeniach JWT. Chociaż roszczenia JWT są zakodowane (za pomocą Base64URL), nie są zaszyfrowane. Oznacza to, że każdy, kto ma token, może go zdekodować i zobaczyć roszczenia, nawet jeśli nie może ich zmienić bez unieważnienia podpisu. Użyj szyfrowania lub innych bezpiecznych metod, aby chronić poufne dane, gdy to konieczne.

Kiedy używać JWT?

JWT mogą być szczególnie korzystne w następujących sytuacjach:

  1. Architektura mikrousług: Dla bezstanowego uwierzytelniania między wieloma usługami.
  2. Systemy pojedynczego logowania (SSO): Umożliwienie dostępu do wielu aplikacji za pomocą jednego uwierzytelnienia.
  3. Aplikacje mobilne: Efektywne utrzymywanie sesji użytkownika w ramach żądań API.
  4. Aplikacje o dużym ruchu: Zmniejszenie obciążenia bazy danych w środowiskach o dużej ilości danych.
  5. Współdzielenie zasobów między źródłami (CORS): Uproszczenie uwierzytelniania między wieloma domenami.
  6. Architektury bezserwerowe: Zapewnienie bezstanowego uwierzytelniania tam, gdzie sesje po stronie serwera są trudne.
Dowiedz się więcej

Jak zweryfikować JWT?

Integralność JWT musi być zweryfikowana, aby upewnić się, że jego nagłówek i ładunek nie zostały zmanipulowane. Poniżej znajdują się przykłady krok po kroku weryfikacji JWT w popularnych środowiskach programistycznych:

Powiązane tematy JWT

Wszystkie informacje na temat JWT oraz krok po kroku przewodnik weryfikacji JWT w różnych środowiskach.

Odblokuj więcej za pomocą Logto Cloud

Ułatw swoją pracę i zapewnij bezpieczne zarządzanie użytkownikami dzięki Logto Cloud. Zbudowane na OpenID Connect (OIDC), korzysta z JWT, aby dostarczyć niezawodny system uwierzytelniania i autoryzacji, zaprojektowany do skalowania wraz z twoimi potrzebami.