Περιγραφή εργαλείου

Αυτό το εργαλείο δημιουργεί και υπογράφει JWT μέσα στο πρόγραμμα περιήγησής σας. Επιλέξτε έναν αλγόριθμο, επεξεργαστείτε την κεφαλίδα και το payload ως JSON και το υπογεγραμμένο token εμφανίζεται αμέσως. Είναι χρήσιμο για τον έλεγχο ενός API, τη δοκιμή μιας νέας ρύθμισης ελέγχου ταυτότητας ή τη δημιουργία ενός token για ένα τοπικό περιβάλλον. Όλα πραγματοποιούνται στο πρόγραμμα περιήγησής σας μέσω του Web Crypto API και τα μυστικά και τα κλειδιά σας δεν αποστέλλονται πουθενά.

Όταν ανοίγετε το εργαλείο, δημιουργεί ένα τυχαίο μυστικό και δημιουργεί ένα νέο ζεύγος κλειδιών την πρώτη φορά που επιλέγετε έναν αλγόριθμο που απαιτεί ένα, ώστε να αποκτήσετε ένα λειτουργικό token χωρίς καμία προετοιμασία. Επικολλήστε το δικό σας μυστικό ή ιδιωτικό κλειδί για να δημιουργήσετε token που θα αποδέχεται ο διακομιστής σας.

Δυνατότητες

  • Υπογράφει με τους HS256, HS384, HS512, RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512 και EdDSA (Ed25519).
  • Δέχεται το μυστικό HMAC ως κείμενο, Base64 ή δεκαεξαδική μορφή και προειδοποιεί όταν είναι μικρότερο από το όριο που επιτρέπει το RFC 7518, κάτι που αρνούνται πολλές βιβλιοθήκες.
  • Διαβάζει ιδιωτικά κλειδιά ως PKCS #8 PEM (BEGIN PRIVATE KEY), PKCS #1 PEM (BEGIN RSA PRIVATE KEY), SEC 1 PEM (BEGIN EC PRIVATE KEY) ή JWK.
  • Εμφανίζει το δημόσιο κλειδί ως PEM και ως JWK με τα kid, use και alg, έτοιμο για προσθήκη σε ένα JWKS.
  • Ορίζει τα exp, iat, nbf και ένα τυχαίο jti κατά την υπογραφή του token και εμφανίζει τις ώρες υπογραφής και λήξης στη ζώνη ώρας σας.
  • Εξηγεί τι πρόβλημα υπάρχει με ένα κλειδί: αν είναι δημόσιο αντί για ιδιωτικό, αν είναι λάθος τύπου ή καμπύλης, αν είναι κλειδί RSA μικρότερο από 2048 bit ή αν προστατεύεται με κωδικό πρόσβασης.
  • Διατηρεί ένα κλειδί για κάθε τύπο κλειδιού, ώστε να μπορείτε να κάνετε εναλλαγή μεταξύ RS256 και ES256 χωρίς να χάσετε το κλειδί που επικολλήσατε.
  • Δημιουργεί μη υπογεγραμμένα token με το alg ορισμένο σε none, για να ελέγξετε ότι ο διακομιστής σας τα απορρίπτει.

Παραδείγματα

Με τον HS256, την κεφαλίδα {"typ": "JWT"}, το payload {"sub": "1234567890", "name": "Τζέιν Ντο"} και την επιλογή «Λήξη σε» ορισμένη σε 1 ώρα, το υπογεγραμμένο payload γίνεται:

{
  "sub": "1234567890",
  "name": "Τζέιν Ντο",
  "iat": 1790000000,
  "exp": 1790003600
}

Συμβουλές

Το token υπογράφεται ξανά κάθε φορά που αλλάζετε κάτι, επομένως τα iat και exp υπολογίζονται πάντα από την τρέχουσα ώρα. Χρησιμοποιήστε το κουμπί κάτω από το token για να το υπογράψετε ξανά χωρίς να αλλάξετε τίποτα.