Αποκωδικοποιητής JWT
Αποκωδικοποιήστε άμεσα JSON Web Tokens (JWT) για να προβάλετε κεφαλίδες, ωφέλιμα φορτία και ισχυρισμούς χωρίς επαλήθευση. Αυτός ο δωρεάν διαδικτυακός αποκωδικοποιητής JWT βοηθά τους προγραμματιστές να εντοπίσουν τα tokens ελέγχου ταυτότητας, να επιθεωρήσουν τα tokens OAuth και να κατανοήσουν τη δομή των tokens. Σημείωση: Αυτό το εργαλείο αποκωδικοποιεί tokens αλλά δεν επαληθεύει υπογραφές για λόγους ασφαλείας.
Συχνές ερωτήσεις
Ένα JWT (JSON Web Token) είναι ένα συμπαγές, ασφαλές για τη διεύθυνση URL token που χρησιμοποιείται για έλεγχο ταυτότητας και ανταλλαγή πληροφοριών μεταξύ των μερών. Η αποκωδικοποίηση ενός JWT σας επιτρέπει να δείτε την επικεφαλίδα (τύπος και αλγόριθμος token), το ωφέλιμο φορτίο (αξιώσεις και δεδομένα χρήστη) και την υπογραφή. Οι προγραμματιστές αποκωδικοποιούν τα JWT για να εντοπίσουν προβλήματα ελέγχου ταυτότητας, να επιθεωρήσουν τα δικαιώματα χρήστη ή να κατανοήσουν το περιεχόμενο του token κατά τη διάρκεια της ανάπτυξης.
Απλώς επικολλήστε το διακριτικό JWT στο πεδίο εισαγωγής και κάντε κλικ στο 'Decode JWT'. Το εργαλείο θα αναλύσει αμέσως το διακριτικό και θα εμφανίσει την επικεφαλίδα και το ωφέλιμο φορτίο σε αναγνώσιμη μορφή JSON. Θα δείτε όλες τις αξιώσεις, τους χρόνους λήξης, τις πληροφορίες του εκδότη και τυχόν προσαρμοσμένα δεδομένα που είναι αποθηκευμένα στο token.
Όχι, αυτός ο αποκωδικοποιητής εμφανίζει μόνο τα περιεχόμενα της επικεφαλίδας και του ωφέλιμου φορτίου του JWT - δεν επαληθεύει την υπογραφή. Η επαλήθευση της υπογραφής απαιτεί το μυστικό ή το δημόσιο κλειδί, το οποίο δεν πρέπει ποτέ να κοινοποιείται ή να εισάγεται σε διαδικτυακά εργαλεία. Για λόγους ασφαλείας, να επαληθεύετε πάντα τα JWTs από την πλευρά του διακομιστή χρησιμοποιώντας τις κατάλληλες βιβλιοθήκες με τα μυστικά σας κλειδιά.
Ένα αποκωδικοποιημένο JWT εμφανίζει συνήθως: τον τύπο του token και τον αλγόριθμο υπογραφής στην επικεφαλίδα και ισχυρισμούς όπως "iss" (εκδότης), "sub" (υποκείμενο), "aud" (κοινό), "exp" (χρόνος λήξης), "iat" (issued at) και τυχόν προσαρμοσμένους ισχυρισμούς στο ωφέλιμο φορτίο. Αυτές οι πληροφορίες σας βοηθούν να καταλάβετε ποιος εξέδωσε το token, πότε λήγει και τι δικαιώματα ή δεδομένα περιέχει.
Η αποκωδικοποίηση των JWTs από την πλευρά του πελάτη είναι γενικά ασφαλής, καθώς τα JWTs έχουν σχεδιαστεί ώστε να είναι αναγνώσιμα από οποιονδήποτε - είναι κωδικοποιημένα με base64, όχι κρυπτογραφημένα. Ωστόσο, μην αποκωδικοποιείτε ποτέ JWTs που περιέχουν εξαιρετικά ευαίσθητα δεδομένα χρησιμοποιώντας δημόσια διαδικτυακά εργαλεία. Αυτό το εργαλείο επεξεργάζεται τα tokens εξ ολοκλήρου στο πρόγραμμα περιήγησής σας χωρίς να στέλνει δεδομένα σε διακομιστές, αλλά αποφύγετε τη χρήση του με tokens παραγωγής που περιέχουν ευαίσθητες πληροφορίες.
Τα JWT ακολουθούν μια τυπική δομή με τρία μέρη κωδικοποιημένα σε base64 που χωρίζονται με τελείες: header.payload.signature. Η επικεφαλίδα περιγράφει τον τύπο και τον αλγόριθμο του token, το ωφέλιμο φορτίο περιέχει τους ισχυρισμούς και τα δεδομένα και η υπογραφή διασφαλίζει ότι το token δεν έχει αλλοιωθεί. Αυτή η δομή καθιστά τα JWT συμπαγή και ασφαλή για τις διευθύνσεις URL, διατηρώντας παράλληλα την ασφάλεια.
Τα αποκωδικοποιημένα JWT περιέχουν έναν ισχυρισμό "exp" (expiration), ο οποίος είναι μια χρονοσφραγίδα Unix. Συγκρίνετε αυτή τη χρονοσφραγίδα με την τρέχουσα ώρα - εάν η τρέχουσα ώρα είναι μεγαλύτερη από την τιμή exp, το token έχει λήξει. Ο αποκωδικοποιητής εμφανίζει αυτή τη χρονοσφραγίδα σε αναγνώσιμη μορφή για να σας βοηθήσει να επαληθεύσετε την εγκυρότητα του token.
Το 'iat' (issued at) δείχνει πότε δημιουργήθηκε το token, το 'exp' (expiration time) δείχνει πότε λήγει και το 'nbf' (not before) καθορίζει πότε το token γίνεται έγκυρο. Αυτές οι χρονοσφραγίδες βοηθούν στον έλεγχο του κύκλου ζωής του token και αποτρέπουν την επαναχρησιμοποίηση του token σε διαφορετικές χρονικές περιόδους.
Ναι! Τα κουπόνια πρόσβασης OAuth 2.0 και τα κουπόνια αναγνωριστικού OpenID Connect χρησιμοποιούν συχνά τη μορφή JWT. Η αποκωδικοποίησή τους αποκαλύπτει πεδία εφαρμογής, δικαιώματα, αναγνωριστικά χρήστη και λεπτομέρειες ελέγχου ταυτότητας. Αυτό είναι ανεκτίμητο για την αποσφαλμάτωση ροών ελέγχου ταυτότητας, την επαλήθευση χορηγηθέντων δικαιωμάτων και την αντιμετώπιση προβλημάτων ολοκλήρωσης.
Ένα JWT με "αλγόριθμο: κανένας" (που ονομάζεται επίσης μη ασφαλές JWT) δεν έχει επαλήθευση υπογραφής. Αυτό είναι επικίνδυνο στην παραγωγή και συχνά υποδεικνύει ευπάθεια ασφαλείας. Τα νόμιμα JWT θα πρέπει να χρησιμοποιούν αλγόριθμους όπως RS256, HS256 ή ES256. Αν δείτε το 'none', ερευνήστε το αμέσως, καθώς μπορεί να υποδεικνύει κάποιο πρόβλημα ασφαλείας.
