Sobes.tech
Junior — Middle

Ποιος είναι ο σκοπός και η χρήση των JSON Web Tokens στο σύστημα αυθεντικοποίησης;

sobes.tech AI

Απάντηση από AI

Οι JSON Web Tokens (JWT) χρησιμοποιούνται για ασφαλή μεταφορά πληροφοριών μεταξύ πελάτη και διακομιστή σε συστήματα εξουσιοδότησης. Ένα JWT περιέχει ένα κωδικοποιημένο φορτίο (payload) με δεδομένα χρήστη και υπογράφεται με ένα μυστικό κλειδί, επιτρέποντας στο διακομιστή να επαληθεύσει την αυθεντικότητα του token χωρίς να χρειάζεται να διατηρεί συνεδρία.

Ο κύριος σκοπός του JWT:

  • Ταυτοποίηση: μετά από επιτυχημένη σύνδεση, ο χρήστης λαμβάνει ένα JWT, το οποίο αποστέλλεται με κάθε αίτημα για επιβεβαίωση της ταυτότητάς του.
  • Εξουσιοδότηση: στο token μπορούν να αποθηκευτούν δικαιώματα πρόσβασης, επιτρέποντας στο διακομιστή να λαμβάνει αποφάσεις χωρίς επιπλέον ερώτημα στη βάση δεδομένων.

Παράδειγμα χρήσης:

POST /login
{
  "username": "user",
  "password": "pass"
}

Απάντηση:
{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6..."
}

Στη συνέχεια, ο πελάτης στέλνει αυτό το token στην κεφαλίδα Authorization:

GET /protected-resource
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6... 

Ο διακομιστής επαληθεύει την υπογραφή και εξάγει δεδομένα από το token για να λάβει αποφάσεις πρόσβασης.