Generator JWT
Generați JSON Web Tokens semnate cu header, payload și cheie personalizate. Suportă HS256, RS256, ES256.
Ce este un JWT?
JWT (JSON Web Token, RFC 7519) este un standard deschis pentru transmiterea sigură a informațiilor ca obiect JSON compact. Format din trei părți separate prin puncte: Header.Payload.Signature.
Care sunt utilizările comune ale JWT?
JWT este utilizat pe scară largă pentru autentificare (single sign-on), autorizare API și schimb sigur de informații. După autentificare, serverul emite un JWT pe care clientul îl include în cererile ulterioare.
Cum aleg între HS256, RS256 și ES256?
HS256 folosește un secret partajat și este cel mai rapid, potrivit pentru servicii unice. RS256 folosește perechi de chei RSA, mai bun pentru arhitecturi multi-serviciu. ES256 folosește chei eliptice cu semnături mai scurte și securitate ridicată.
Ce sunt claims-urile JWT?
Claims-urile sunt declarații în payload. Claims-urile înregistrate includ iss (emitent), sub (subiect), exp (expirare), aud (audiență). Claims-urile publice pot fi înregistrate la IANA. Claims-urile private sunt câmpuri personalizate.
Cum verific un JWT?
Decodați header-ul pentru a obține algoritmul, apoi utilizați cheia corespunzătoare (secret partajat pentru HMAC, cheie publică pentru RSA/ECDSA) pentru a verifica semnătura. Verificați și exp, iss și aud.
Este sigur să generați JWT în browser?
Da, acest instrument folosește Web Crypto API. Cheile și tokenurile dvs. nu părăsesc niciodată browserul. Niciun date nu este trimis către servere.
Care este diferența dintre codificare și semnare?
Codificarea (Base64) doar convertește datele într-un format transmisibil și este reversibilă de oricine. Semnarea creează un hash criptografic care dovedește că tokenul nu a fost modificat.
Poate fi criptat JWT?
Da, JWE (JSON Web Encryption) criptează conținutul payload-ului. JWT standard (JWS) garantează doar integritatea, dar payload-ul este citibil de oricine are tokenul.
Care sunt cele mai bune practici de securitate JWT?
Setați întotdeauna timpi de expirare scurți. Folosiți secrete puternice și aleatorii pentru HMAC. Stocați cheile private în siguranță. Nu puneți date sensibile în payload. Folosiți HTTPS în producție.
Cum se compară JWT cu autentificarea bazată pe sesiuni?
JWT este fără stare — serverul nu stochează date de sesiune, ideal pentru microservicii și scenarii cross-domain. Sesiunile necesită stocare pe server, dar permit revocare instantanee.
Este JWT potrivit pentru deconectare și gestionarea sesiunilor?
JWT este fără stare prin design, deci deconectarea necesită mecanisme suplimentare cum ar fi liste de blocare sau token-uri cu durată scurtă cu refresh token-uri. Folosiți token-uri de acces cu durată scurtă (ex: 15 minute).
Cum funcționează modelul refresh token cu JWT?
Folosiți un token de acces cu durată scurtă (JWT) pentru apeluri API și un refresh token cu durată mai lungă pentru a obține token-uri de acces noi. Când tokenul de acces expiră, clientul trimite refresh token-ul pentru un nou JWT.
Ce este algoritmul "none"?
Algoritmul "none" înseamnă că JWT nu este semnat. Folosiți-l doar pentru testare. Multe biblioteci îl dezactivează implicit.
Există limitări de dimensiune pentru JWT?
JWT nu are o limită fixă de dimensiune, dar deoarece este trimis în anteturi HTTP, ar trebui să rămână sub 4KB. Mențineți payload-ul minim.