Εξηγήστε τι είναι το JSON Web Token και για ποιο λόγο χρησιμοποιείται στις σύγχρονες web εφαρμογές.
sobes.tech AI
Απάντηση από AI
Το JSON Web Token (JWT) είναι ένας συμπαγής, ασφαλής τρόπος μεταφοράς πληροφοριών μεταξύ μερών με τη μορφή ενός αντικειμένου JSON. Το JWT αποτελείται από τρία μέρη: επικεφαλίδα, φορτίο (payload) και υπογραφή.
Στις σύγχρονες web εφαρμογές, το JWT χρησιμοποιείται συχνά για την πιστοποίηση και την εξουσιοδότηση χρηστών. Μετά από μια επιτυχημένη σύνδεση, ο διακομιστής δημιουργεί ένα JWT, το οποίο ο πελάτης αποθηκεύει (π.χ. στο localStorage) και το στέλνει με κάθε αίτημα. Ο διακομιστής επαληθεύει την υπογραφή του token για να διασφαλίσει την αυθεντικότητά του και να εξάγει δεδομένα χρήστη χωρίς να χρειάζεται να διατηρεί συνεδρία στον διακομιστή.
Παράδειγμα δομής JWT:
header.payload.signature
Όπου:
- header — περιέχει τον τύπο του token και τον αλγόριθμο υπογραφής.
- payload — περιέχει δηλώσεις (claims), π.χ., τον αναγνωριστικό χρήστη και τον χρόνο λήξης.
- signature — κρυπτογραφική υπογραφή για τον έλεγχο ακεραιότητας.
Αυτό επιτρέπει τη δημιουργία κλιμακωτών και ασφαλών συστημάτων πιστοποίησης χωρίς κατάσταση (stateless).