Εντοπισμός σφαλμάτων / αποκωδικοποιητής JWT

Επικόλληση οποιουδήποτε JWT για αποκωδικοποίηση των τριών τμημάτων του που χωρίζονται με τελείες — η κεφαλίδα, το φορτίο και η υπογραφή, σε base64url, εμφανίζονται ως JSON με εσοχές με καταχωρισμένα claims (exp, iat, nbf και συγγενικά) μετατραμμένα σε τοπική ώρα. Η υπογραφή επαληθεύεται στη συνέχεια με το WebCrypto API: HMAC (HS256/384/512) με μυστικό, ή RSA/ECDSA (RS256/384/512, ES256/384/512) με δημόσιο κλειδί PEM, ενώ ένα δείγμα HS256 είναι διαθέσιμο με ένα κλικ για δοκιμές. Όλη η επεξεργασία γίνεται τοπικά — τα διακριτικά, τα μυστικά και τα κλειδιά δεν αποστέλλονται πουθενά.
Διακριτικό JWT Μορφή: header.payload.signature (τρία τμήματα base64url).
Προειδοποίηση: αυτό το διακριτικό δηλώνει alg:none, που σημαίνει ότι δεν είναι υπογεγραμμένο. Οι πραγματικές υπηρεσίες πρέπει να απορρίπτουν τα ανυπόγραφα διακριτικά — αντιμετωπίζεται ως αναξιόπιστο.
ClaimΤιμήΕρμηνεία
Μυστικό
Το crypto.subtle δεν είναι διαθέσιμο σε αυτό το περιβάλλον, οπότε η επαλήθευση υπογραφής είναι απενεργοποιημένη. Η ενεργοποίηση απαιτεί τη φόρτωση της σελίδας μέσω https: ή από τοπικό αρχείο. Η αποκωδικοποίηση εξακολουθεί να λειτουργεί.
Πώς διαβάζεται το αποτέλεσμα: η κεφαλίδα συνήθως περιέχει το alg (τον αλγόριθμο υπογραφής) και το typ. Τα καταχωρισμένα claims με μετατροπή σε τοπική ώρα είναι τα iat (εκδόθηκε στις), nbf (όχι πριν από) και exp (λήξη) — ένα κόκκινο σήμα σημαίνει ότι το διακριτικό έχει λήξει, το κίτρινο ότι λήγει μέσα σε 24 ώρες. Η επαλήθευση υπογραφής υπολογίζει τον ίδιο MAC που θα υπολόγιζε ο εκδότης, ή ελέγχει το δημόσιο κλειδί RSA/ECDSA που επικολλάται, και στη συνέχεια σημαδεύει το διακριτικό ως VALID ή INVALID. Μόνο αλγόριθμοι που υλοποιούνται από το επίπεδο WebCrypto του προγράμματος περιήγησης μπορούν να επαληθευτούν· οι υπόλοιποι αναφέρονται ως μη υποστηριζόμενοι αντί να εικάζονται.

Συνήθη καταχωρισμένα claims: το sub (subject) είναι ο χρήστης ή η οντότητα στην οποία αναφέρεται το διακριτικό — στο δείγμα είναι απλώς ένα αριθμητικό ID, αλλά οι υπηρεσίες συχνά βάζουν εδώ email, όνομα χρήστη ή UUID. Το iss ονομάζει τον εκδότη, το aud ονομάζει το προοριζόμενο κοινό, και το jti είναι μοναδικό αναγνωριστικό διακριτικού που χρησιμοποιείται για την αποτροπή επανάληψης. Αυτά τα claims δεν είναι κρυπτογραφημένα· όποιος έχει το διακριτικό μπορεί να τα διαβάσει, οπότε κωδικοί πρόσβασης ή μυστικά δεν τοποθετούνται ποτέ στο φορτίο JWT.

Ιδιωτικότητα: η αποκωδικοποίηση και η επαλήθευση γίνονται εξ ολοκλήρου σε αυτή τη σελίδα με το WebCrypto API — το διακριτικό, το μυστικό και τα δημόσια κλειδιά δεν μεταδίδονται ποτέ. Για διακριτικό alg:none η σελίδα εμφανίζει ξεκάθαρη προειδοποίηση: τα ανυπόγραφα διακριτικά δεν πρέπει ποτέ να γίνονται αποδεκτά από πραγματικό API.