Junior — Middle
Μπορείτε να εξηγήσετε τι είναι το JWT και πώς χρησιμοποιείται στις εφαρμογές ASP.NET;
sobes.tech AI
Απάντηση από AI
Το JWT (JSON Web Token) είναι ένας συμπαγής και ασφαλής τρόπος μεταφοράς πληροφοριών μεταξύ μερών με τη μορφή ενός αντικειμένου JSON. Στις εφαρμογές ASP.NET, το JWT χρησιμοποιείται συχνά για την πιστοποίηση και την εξουσιοδότηση χρηστών.
Αρχή λειτουργίας:
- Κατά την είσοδο, ο διακομιστής δημιουργεί ένα JWT που περιέχει χρήσιμα δεδομένα (π.χ., αναγνωριστικό χρήστη, ρόλους) και το υπογράφει με ένα μυστικό κλειδί.
- Ο πελάτης αποθηκεύει αυτό το token και το στέλνει στην κεφαλίδα Authorization σε επόμενα αιτήματα.
- Ο διακομιστής επαληθεύει την υπογραφή του token, εξάγει τα δεδομένα και λαμβάνει αποφάσεις πρόσβασης βάσει αυτών.
Παράδειγμα ρύθμισης JWT στο ASP.NET Core:
services.AddAuthentication(options => {
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(options => {
options.TokenValidationParameters = new TokenValidationParameters {
ValidateIssuer = true,
ValidateAudience = true,
ValidateLifetime = true,
ValidateIssuerSigningKey = true,
ValidIssuer = "yourIssuer",
ValidAudience = "yourAudience",
IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("yourSecretKey"))
};
});
Έτσι, το JWT επιτρέπει την ασφαλή και βολική διαχείριση συνεδριών χωρίς αποθήκευση κατάστασης στον διακομιστή.