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

Αποκωδικοποιήστε ένα JSON Web Token τοπικά, ελέγξτε το header και το payload σε μορφή JSON, διαβάστε κοινά claims και δείτε οδηγίες για χρονικές σφραγίδες χωρίς να θεωρείτε την αποκωδικοποίηση ως επαλήθευση.

Όλη η αποκωδικοποίηση JWT εκτελείται τοπικά στον περιηγητή σας. Τα tokens δεν αποστέλλονται σε διακομιστές του Decode It.

Μόνο αποκωδικοποίηση

Αποκωδικοποιεί το header και το payload τοπικά. Δεν επαληθεύει υπογραφές και δεν αποδεικνύει ότι ένα token είναι έμπιστο.

Μην επικολλάτε μυστικά υπογραφής, ιδιωτικά κλειδιά ή παραγωγικά tokens που δεν έχετε δικαίωμα να ελέγξετε.

Γρήγορα παραδείγματα

Επικολλήστε ένα JWT για να αποκωδικοποιηθεί το header, το payload, τα χρονικά claims και οι ακατέργαστες ενότητες.

Τι εμφανίζει ένας αποκωδικοποιητής JWT

Ένα JSON Web Token, ή JWT, είναι μια συμπαγής μορφή token που χρησιμοποιείται συνήθως για αυθεντικοποίηση, εξουσιοδότηση, συνεδρίες API και ροές ταυτότητας. Ένα JWT συνήθως έχει τρία μέρη διαχωρισμένα με τελεία: μια κεφαλίδα, ένα payload και μια υπογραφή. Η κεφαλίδα και το payload είναι base64url-κωδικοποιημένο JSON, που σημαίνει ότι μπορούν να αποκωδικοποιηθούν και να διαβαστούν χωρίς μυστικό κλειδί.

Αυτός ο αποκωδικοποιητής JWT επικεντρώνεται στην επιθεώρηση. Μορφοποιεί την κεφαλίδα και το payload, εξάγει κοινές αξιώσεις (claims), εμφανίζει τα ακατέργαστα τμήματα και εξηγεί τις χρονικές αξιώσεις όπως iat, nbf, και exp. Αυτό είναι χρήσιμο όταν εντοπίζετε προβλήματα ροών σύνδεσης, κλήσεων API, δοκιμαστικών περιβαλλόντων, ενσωματώσεων OAuth ή ζητημάτων διάρκειας ζωής του token.

  • Διαβάστε τον αλγόριθμο και τον τύπο του token από την κεφαλίδα.
  • Επιθεωρήστε τον issuer, το subject, το audience και προσαρμοσμένες αξιώσεις στο payload.
  • Μετατρέψτε τις αξιώσεις NumericDate σε αναγνώσιμες ημερομηνίες.
  • Αντιγράψτε την αποκωδικοποιημένη κεφαλίδα, το αποκωδικοποιημένο payload ή τα ακατέργαστα τμήματα του token.

Η αποκωδικοποίηση δεν είναι επαλήθευση

Η αποκωδικοποίηση ενός JWT σας λέει τι αναφέρει το token. Δεν αποδεικνύει ποιος το δημιούργησε, αν το payload τροποποιήθηκε, αν η υπογραφή ταιριάζει ή αν η εφαρμογή σας πρέπει να το αποδεχτεί. Η επαλήθευση της υπογραφής απαιτεί το σωστό μυστικό, το δημόσιο κλειδί ή τη διαμόρφωση JWKS και πρέπει να ταιριάζει με τον αλγόριθμο που αναμένει η εφαρμογή.

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

Θεωρήστε αυτή τη σελίδα ως επιθεωρητή, όχι ως αρχή. Ένα αποκωδικοποιημένο token μπορεί να είναι ψεύτικο, ληγμένο, χωρίς υπογραφή, υπογεγραμμένο με απροσδόκητο κλειδί ή να απορριφθεί από την υπηρεσία που το εξέδωσε.

Κοινές αξιώσεις JWT

Claim Meaning Τυπική χρήση
iss Issuer Η υπηρεσία ή ο πάροχος ταυτότητας που εξέδωσε το token.
sub Subject Ο χρήστης, ο λογαριασμός, ο client ή ο φορέας για τον οποίο αφορά το token.
aud Audience Το API, η εφαρμογή ή η υπηρεσία που θα πρέπει να λάβει το token.
iat Έκδοση σε Όταν δημιουργήθηκε το token.
nbf Μη πριν Το token δεν πρέπει να γίνεται αποδεκτό πριν από αυτή την ώρα.
exp Λήγει στις Το token δεν πρέπει να γίνεται αποδεκτό μετά από αυτή την ώρα.

Ασφαλείς πρακτικές εντοπισμού σφαλμάτων

  • Χρησιμοποιήστε δοκιμαστικά tokens όποτε είναι δυνατόν αντί για παραγωγικά tokens χρηστών.
  • Μην επικολλάτε μυστικά υπογραφής, ιδιωτικά κλειδιά ή διαπιστευτήρια API σε έναν αποκωδικοποιητή.
  • Ελέγξτε ότι ο αλγόριθμος είναι ο αναμενόμενος από την εφαρμογή σας.
  • Compare iss and aud συγκρίνετε το iss και το aud με την υπηρεσία που εντοπίζετε.
  • Θυμηθείτε ότι ο χρόνος του προγράμματος περιήγησης και ο χρόνος του διακομιστή μπορεί να διαφέρουν όταν αντιμετωπίζετε προβλήματα λήξης.

Σχετικά τοπικά εργαλεία

  • Χρησιμοποιήστε το Base64 Encoder Decoder όταν χρειάζεται να ελέγξετε απλές base64 συμβολοσειρές. Τα JWT χρησιμοποιούν base64url, οπότε αυτός ο αποκωδικοποιητής JWT είναι πιο ασφαλής για πλήρη tokens.
  • Χρησιμοποιήστε το JSON Beautifier όταν θέλετε να μορφοποιήσετε αντίγραφα αντικειμένων payload εκτός του πλαισίου token.
  • Χρησιμοποιήστε το Unix Timestamp Converter όταν χρειάζεστε έναν ξεχωριστό έλεγχο χρονοσφραγίδων για τιμές NumericDate όπως iat, nbf, ή exp.

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

Επαληθεύει αυτός ο αποκωδικοποιητής JWT τις υπογραφές;

Όχι. Αποκωδικοποιεί την κεφαλίδα και το payload ώστε να μπορείτε να τα εξετάσετε, αλλά δεν επαληθεύει την υπογραφή ούτε αποδεικνύει ότι το token είναι αξιόπιστο. Η επαλήθευση απαιτεί το μυστικό του εκδότη, το δημόσιο κλειδί ή τη διαμόρφωση JWKS. Η υπογραφή δεν εμφανίζεται ως αποκωδικοποιημένο πάνελ JSON επειδή είναι κρυπτογραφική τιμή, όχι αναγνώσιμα δεδομένα claims· αυτό το εργαλείο την εμφανίζει μόνο στα ακατέργαστα τμήματα.

Μπορεί ο καθένας να αποκωδικοποιήσει ένα JWT;

Ναι, η κεφαλίδα και το payload είναι κωδικοποιημένα, όχι κρυπτογραφημένα, εκτός αν το σύστημά σας χρησιμοποιεί ξεχωριστή κρυπτογραφημένη μορφή token. Μην βάζετε μυστικά στο payload των JWT.

Τι σημαίνει ένα ληγμένο JWT;

Εάν η exp αξίωση βρίσκεται στο παρελθόν, ένας διακομιστής κανονικά θα πρέπει να απορρίψει το token. Αυτή η σελίδα μπορεί να δείξει τη χρονοσφραγίδα, αλλά ο διακομιστής είναι η τελική αρχή.

Γιατί το εργαλείο δέχεται πρόθεμα Bearer;

Οι προγραμματιστές συχνά αντιγράφουν tokens από μια κεφαλίδα Authorization: Bearer ... Authorization: Bearer ... Το εργαλείο αφαιρεί το πρόθεμα πριν από την αποκωδικοποίηση του σώματος του token.