Χωρίς μεταφόρτωση, 100% τοπικά, χωρίς λογαριασμό

Αποκωδικοποιητής JWT

Επικολλήστε ένα JWT για να δείτε κεφαλίδα, περιεχόμενο και λήξη. Κανένα token δεν αποστέλλεται πουθενά. Η υπογραφή ΔΕΝ επαληθεύεται, χρησιμοποιήστε μόνο για επιθεώρηση.

Πώς λειτουργεί το Αποκωδικοποιητής JWT

Το JWT Decoder διαχωρίζει ένα JSON Web Token στα τρία μέρη του, κεφαλίδα, ωφέλιμο φορτίο και υπογραφή, και εμφανίζει την κεφαλίδα και το ωφέλιμο φορτίο ως μορφοποιημένο JSON. Η αποκωδικοποίηση γίνεται τοπικά στο πρόγραμμα περιήγησης με αποκωδικοποίηση base64url κάθε μέρους: το διακριτικό σας δεν στέλνεται ποτέ σε κανέναν διακομιστή. Το εργαλείο δεν εκτελεί επαλήθευση υπογραφής, σας δείχνει μόνο τι υπάρχει μέσα στις αξιώσεις του διακριτικού.

Αυτή η διάκριση έχει σημασία για την ασφάλεια: το να βλέπετε ένα αποκωδικοποιημένο JWT σας λέει ποιες αξιώσεις περιέχει (αναγνωριστικό χρήστη, λήξη, ρόλοι, εμβέλειες) αλλά δεν επιβεβαιώνει ότι το διακριτικό εκδόθηκε από νόμιμη αρχή ή ότι δεν έχει παραποιηθεί. Η επαλήθευση υπογραφής απαιτεί το δημόσιο κλειδί ή το κοινό μυστικό του εκδότη, που δεν πρέπει ποτέ να επικολλάτε σε δημόσιο εργαλείο. Χρησιμοποιήστε αυτόν τον αποκωδικοποιητή μόνο για επιθεώρηση και εντοπισμό σφαλμάτων.

Αποκωδικοποιητής JWT: οδηγός βήμα προς βήμα

  1. Επικολλήστε την πλήρη συμβολοσειρά JWT (τρία τμήματα base64url χωρισμένα με τελείες) στο πεδίο εισόδου.
  2. Οι ενότητες κεφαλίδας και ωφέλιμου φορτίου εμφανίζονται αμέσως ως μορφοποιημένο JSON.
  3. Ελέγξτε το πεδίο «exp» στο ωφέλιμο φορτίο για να δείτε τη χρονική σήμανση λήξης (δευτερόλεπτα εποχής Unix).
  4. Το τμήμα της υπογραφής εμφανίζεται ως έχει, αυτό το εργαλείο δεν το επαληθεύει.

Συνήθεις περιπτώσεις χρήσης

  • Ένας προγραμματιστής που εντοπίζει ένα ζήτημα ταυτοποίησης χρειάζεται να διαβάσει τις αξιώσεις μέσα σε ένα JWT για να επιβεβαιώσει ότι υπάρχουν οι σωστές εμβέλειες και ρόλοι.
  • Ένας μηχανικός QA ελέγχει το πεδίο «exp» ενός διακριτικού πρόσβασης για να επαληθεύσει ότι η λήξη έχει οριστεί στην αναμενόμενη διάρκεια.
  • Ένας αναθεωρητής ασφάλειας επιθεωρεί ένα JWT από μια υπηρεσία τρίτου μέρους για να κατανοήσει ποια δεδομένα χρήστη κωδικοποιεί πριν το αποδεχτεί.
  • Ένας μηχανικός backend αντιμετωπίζει ένα σφάλμα 401 ελέγχοντας αν η αξίωση «aud» (ακροατήριο) του διακριτικού ταιριάζει με το αναμενόμενο αναγνωριστικό API.

Συχνές ερωτήσεις

Επαληθεύει αυτό το εργαλείο την υπογραφή JWT;

Όχι. Το εργαλείο μόνο αποκωδικοποιεί base64url τα τμήματα κεφαλίδας και ωφέλιμου φορτίου για να εμφανίσει το περιεχόμενό τους ως JSON. Η επαλήθευση υπογραφής απαιτεί το μυστικό κλειδί ή το δημόσιο κλειδί του εκδότη, που δεν πρέπει να επικολλάς εδώ. Ένα αποκωδικοποιημένο ωφέλιμο φορτίο που φαίνεται έγκυρο μπορεί να έχει άκυρη υπογραφή, να επαληθεύεις πάντα την υπογραφή από την πλευρά του διακομιστή χρησιμοποιώντας μια αξιόπιστη βιβλιοθήκη JWT.

Μεταδίδεται το διακριτικό JWT μου σε κάποιον διακομιστή όταν το επικολλώ εδώ;

Όχι. Η αποκωδικοποίηση είναι τρεις κλήσεις στο atob (ή TextDecoder στα ακατέργαστα bytes) που τρέχουν εξ ολοκλήρου στη μηχανή JavaScript του προγράμματος περιήγησης. Τίποτα από όσα επικολλάτε εδώ δεν φεύγει από την καρτέλα του προγράμματος περιήγησής σας. Αυτός είναι ο μόνος ασφαλής τρόπος να επιθεωρήσετε ένα JWT που περιέχει ιδιωτικές αξιώσεις χρήστη: εντελώς τοπικά, χωρίς αίτημα δικτύου.

Ποια είναι η διαφορά μεταξύ των τμημάτων κεφαλίδας, ωφέλιμου φορτίου και υπογραφής;

Ένα JWT έχει τρία τμήματα κωδικοποιημένα με base64url χωρισμένα με τελείες. Η κεφαλίδα προσδιορίζει τον αλγόριθμο που χρησιμοποιείται για την υπογραφή του διακριτικού (για παράδειγμα, HS256 ή RS256). Το ωφέλιμο φορτίο περιέχει τις αξιώσεις: στοιχεία για το υποκείμενο και πρόσθετα μεταδεδομένα (λήξη, εκδότης, ακροατήριο, προσαρμοσμένες αξιώσεις). Η υπογραφή είναι μια κρυπτογραφική τιμή υπολογισμένη από την κεφαλίδα και το ωφέλιμο φορτίο χρησιμοποιώντας το κλειδί του εκδότη, είναι αυτή που επιτρέπει στον παραλήπτη να επαληθεύσει ότι το διακριτικό δεν αλλοιώθηκε.

Τι σημαίνει το «exp» στο ωφέλιμο φορτίο;

Η αξίωση «exp» είναι ο χρόνος λήξης του διακριτικού, εκφρασμένος ως χρονική σήμανση Unix (ακέραια δευτερόλεπτα από την 1η Ιανουαρίου 1970 UTC). Αν ο τρέχων χρόνος είναι μεγαλύτερος από το «exp», το διακριτικό έχει λήξει και πρέπει να απορρίπτεται από κάθε διακομιστή που το επικυρώνει. Αυτό το εργαλείο δείχνει την ακατέργαστη αριθμητική τιμή· μπορείτε να τη μετατρέψετε χρησιμοποιώντας το εργαλείο χρονικής σήμανσης σε αυτόν τον ιστότοπο. Η ένδειξη «έληξε» ή «έγκυρο» συγκρίνει αυτόν τον αριθμό με το ρολόι της δικής σας συσκευής, οπότε μια συσκευή με λάθος ώρα θα κρίνει λάθος και το διακριτικό. Είναι μια ένδειξη, ποτέ υποκατάστατο του διακομιστή που πραγματικά επικυρώνει την υπογραφή.

Μπορώ να αποκωδικοποιήσω ένα αδιαφανές διακριτικό ή διακριτικό αναφοράς με αυτό το εργαλείο;

Όχι. Τα αδιαφανή διακριτικά (που μερικές φορές ονομάζονται διακριτικά αναφοράς) είναι τυχαίες συμβολοσειρές που δεν μεταφέρουν δεδομένα χρήστη οι ίδιες, πρέπει να σταλούν στο τελικό σημείο ενδοσκόπησης του εκδότη για την ανάκτηση των σχετικών αξιώσεων. Αυτό το εργαλείο λειτουργεί μόνο με αυτοτελή JWT στην τυπική μορφή τριών μερών.