Generator JWT
Stwórz i podpisz token JWT bezpośrednio w przeglądarce. Wpisz wymagania dotyczące zawartości tokena (standaryczne wartości sub, aud, exp itd.) oraz dowolny dodatkowy tekst, wybierz algorytm (HS256 z sekretem wspólnym lub RS256/ES256 z kluczem prywatnym) – narzędzie wygeneruje token składający się z trzech części. Należy do narzędzi przydatnych do rozwoju lokalnego, testowania obciążenia oraz powtórnego generowania problemów z autentyfikacją.
Jak wygenerować JWT
-
1
Napisz ładunek.
Wymagania standardowe (`sub`, `iss`, `aud`, `exp`, `iat`, `nbf`) oraz wszystkie indywidualne wymagania oczekiwane przez aplikację.
-
2
Wybierz algorytm
HS256/384/512 z tajnym kluczem wspólnym lub RS256/ES256 z prywatnym kluczem w formacie PEM.
-
3
Udostępnij klucz.
Zadaj wspólny tekst szyfrowany dla HMAC lub wklej klucz prywatny dla RSA/ECDSA – oba elementy pozostają w przeglądarce.
-
4
Zostań
Rezultatem jest podpisany token. Kopiuj go, używaj w testach i dekoduj za pomocą narzędzia JWT Decoder w celu jego analizy.
Typowy obciążenie dla tokenu upoważnionego użytkownika
{
"iss": "https://auth.example.com",
"aud": "api.example.com",
"sub": "user_12345",
"iat": 1713398400,
"nbf": 1713398400,
"exp": 1713402000,
"jti": "3c7c7e14-2de4-41f0-bf09-1eb5cfad4c01",
"scope": "read:profile write:posts"
}
Wybór algorytmu: HMAC w porównaniu z algorytmem asymetrycznym
| Algoritm | Typ klucza | Używa się w przypadku |
|---|---|---|
| HS256 | Sekret wspólny o wielkości 256 bitów | Monolit samodzielnie podpisujący i weryfikujący się |
| HS384/512 | Dłuższy sekret | Takie samo jak HS256, lepsza odporność na ataki |
| RS256 | RSA 2048+ | Podpis emitenta; wiele usług wykorzystuje klucz publiczny do weryfikacji |
| ES256 | ECDSA P-256 | Takie samo jak RS256, ale z mniejszymi podpisami |
| EdDSA | Ed25519 | Najszybsza asymetryczna weryfikacja, najmniejsze klucze |
Siła klucza
- Sekrety HMAC muszą mieć co najmniej taką samą entropię jak rozmiar wyjścia algorytmu. Algorytm HS256 wymaga 256 losowych bitów (32 bajty); mniejsza liczba może zostać złamana atakiem typu brute-force.
- Klucze RSA powinny mieć co najmniej 2048 bitów; 3072 lub 4096 bitów dla tokenów o długim okresie życia.
- ECDSA (ES256) zapewnia bezpieczeństwo porównywalne z RSA 3072, przy znacznie mniejszych kluczach i szybszym podpisywaniu.
Wskazówki dotyczące terminu ważności
| Typ tokena | Typowa trwałość exp |
|---|---|
| Token dostępu | 5–60 minut |
| Token odnowienia | dni do tygodni |
| Ponowne ustawienie hasła | 5–15 minut |
| Weryfikacja e-maila | 24 godziny |
| Usługa do usługi | 1–5 minut (krótki czas) |
Token z krótkim okresem ważności i funkcją odnowienia stanowi współczesny wzorzec. Tokeny dostępu o długiej trwałości trudno unieważnić w przypadku ich naruszenia.
Najczęstsze błędy
- Ponowne użycie testowego sekretu w środowisku produkcyjnym. Generator oznacza sekrety HS256 oraz wynikowy JWT jako przeznaczone wyłącznie do testów, jeśli sekret wydaje się słaby. Zaufaj temu ostrzeżeniu.
- Podpisywanie bez
exp. JWT bez terminu wygaśnięcia jest ważny na zawsze. Zawsze ustawiajexp, chyba że masz bardzo dobry powód oraz listę unieważnień. - Używanie
algz nagłówka po stronie weryfikującej. Zawsze dodawaj algorytmy do białej listy po stronie weryfikacji; nie kieruj się tym, o co prosi token. - Wklejanie tutaj prawdziwego klucza prywatnego. Ten generator działa w Twojej przeglądarce, ale traktuj klucze prywatne jak sekrety: używaj kluczy testowych, a nie produkcyjnych.
Najczęściej zadawane pytania
Nie. Podpisywanie odbywa się w Twoim przeglądarce za pomocą interfejsu Web Crypto API. Klucze nigdy nie opuszczają Twojego urządzenia. Jednak klucze produkcyjne należy generować i podpisywać w kontrolowanym środowisku – nie w przeglądarce.
HS256 jest odpowiedni dla systemu monolitycznego, w którym podpisy i weryfikacje są realizowane przez ten sam podmiot. RS256 lub ES256 są lepsze w przypadku gdy emitent jest oddzielony od weryfikatora – klucze publiczne można dzielić bez ujawnienia klucza podpisowego.
Czas odbioru tokenów dostępu wynosi typowo od 5 do 15 minut. Aby zapewnić płynne doświadczenie użytkownika, używaj tokenów odnowiania o dłuższym okresie ważności. Nie wydawaj JWT bez wymogu exp.
Narzędzie umożliwia wygenerowanie tokenów typu alg: none w celu celowego testowania uszkodzonych lub niepodpisanych tokenów, wraz z wyraźnym ostrzeżeniem. Nie przyjmuj takich tokenów w kodzie produkcyjnym.
Powiązane narzędzia
Weryfikator sum kontrolnych
Oblicz sumę kontrolną MD5, SHA-1, SHA-256, SHA-384, SHA-512 lub CRC32 dowolnego tekstu i porównaj ją z oczekiwaną wartością, aby uzyskać jednoznaczny werdykt zgodności lub niezgodności.
Generator CSR
Wygeneruj zakodowane w PEM żądanie podpisania certyfikatu i pasujący prywatny klucz RSA. Podaj common name, pola organizacji i rozmiar klucza (2048, 3072 lub 4096 bitów).
Identyfikator szyfrów
Wklej ciphertext, a identyfikator zasugeruje prawdopodobne kodowania/szyfry: Base64, hex, binarny, Morse, Caesar lub podstawieniowy, JWT i popularne hashe.
Koder szyfru A1Z26
Koduj tekst szyfrem A1Z26 (A=1, B=2, ... Z=26) albo dekoduj sekwencję liczb z powrotem na litery, z własnym separatorem.
Koder plików Base64
Koduj dowolny plik (PDF, ZIP, obraz, plik wykonywalny) do tekstu Base64 do osadzania w JSON, e-mailu, YAML albo data URI. Działa lokalnie, bez uploadu.
Generator skrótów
Generuj skróty MD5, SHA-1, SHA-256, SHA-384, SHA-512 i CRC32 z tekstu, ze skrótem gotowym do skopiowania dla sum kontrolnych i porównań.
Narzędzie jest dostępne w innych językach
- Generator JWT [ID]
- Bộ tạo JWT [VI]
- Generador de JWT [ES]
- Générateur de JWT [FR]
- JWT 생성기 [KO]
- JWT-generator [NL]
- JWT-generator [SV]
- JWTジェネレーター [JA]
- ตัวสร้าง JWT [TH]
- مولد JWT [AR]
- JWT-Generator [DE]
- Gerador de JWT [PT]
- Generatore JWT [IT]
- Генератор JWT [RU]
- JWT Oluşturucu [TR]
- JWT 生成器 [ZH]
- JWT Generator [EN]