Opis narzędzia

To narzędzie tworzy i podpisuje tokeny JWT w przeglądarce. Wybierz algorytm, edytuj nagłówek i ładunek jako JSON, a podpisany token pojawi się od razu. Narzędzie przydaje się do testowania API, wypróbowywania nowej konfiguracji uwierzytelniania lub tworzenia tokenu na potrzeby środowiska lokalnego. Wszystko odbywa się w przeglądarce za pomocą Web Crypto API, a Twoje sekrety i klucze nie są nigdzie wysyłane.

Po otwarciu narzędzie generuje losowy sekret, a przy pierwszym wybraniu algorytmu, który tego wymaga, tworzy nową parę kluczy, dzięki czemu otrzymujesz działający token bez żadnych przygotowań. Wklej własny sekret lub klucz prywatny, aby tworzyć tokeny akceptowane przez Twój serwer.

Funkcje

  • Podpisuje tokeny za pomocą HS256, HS384, HS512, RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512 oraz EdDSA (Ed25519).
  • Przyjmuje sekret HMAC jako tekst, Base64 lub zapis szesnastkowy i ostrzega, gdy jest krótszy niż zezwala na to RFC 7518, czego wiele bibliotek nie akceptuje.
  • Odczytuje klucze prywatne w formacie PKCS #8 PEM (BEGIN PRIVATE KEY), PKCS #1 PEM (BEGIN RSA PRIVATE KEY), SEC 1 PEM (BEGIN EC PRIVATE KEY) lub JWK.
  • Wyświetla klucz publiczny jako PEM oraz JWK z polami kid, use i alg, gotowy do dodania do JWKS.
  • Ustawia exp, iat, nbf oraz losowy jti podczas podpisywania tokenu, a także wyświetla czas podpisania i wygaśnięcia w Twojej strefie czasowej.
  • Wyjaśnia, co jest nie tak z kluczem: użyto klucza publicznego zamiast prywatnego, klucz ma nieprawidłowy typ lub krzywą, klucz RSA ma mniej niż 2048 bitów albo klucz jest chroniony hasłem.
  • Przechowuje osobny klucz dla każdego typu klucza, dzięki czemu możesz przełączać się między RS256 i ES256 bez utraty wklejonego klucza.
  • Tworzy niepodpisane tokeny z alg ustawionym na none, aby sprawdzić, czy Twój serwer je odrzuca.

Przykłady

W przypadku HS256, nagłówka {"typ": "JWT"}, ładunku {"sub": "1234567890", "name": "Jane Doe"} oraz ustawienia „Wygasa za” na 1 godzinę podpisany ładunek wygląda tak:

{
  "sub": "1234567890",
  "name": "Jane Doe",
  "iat": 1790000000,
  "exp": 1790003600
}

Wskazówki

Token jest podpisywany ponownie za każdym razem, gdy coś zmienisz, dlatego iat i exp zawsze są obliczane od bieżącego czasu. Użyj przycisku znajdującego się pod tokenem, aby podpisać go ponownie bez wprowadzania zmian.