Junior — Middle
JWT-nin nə olduğunu və ASP.NET tətbiqlərində necə istifadə olunduğunu izah edə bilərsinizmi?
sobes.tech Süni İntellekt
AI-dan cavab
JWT (JSON Web Token) — bu JSON obyekti şəklində tərəflər arasında məlumatların ötürülməsi üçün yığcam və URL-ə təhlükəsiz yoldur. ASP.NET tətbiqlərində JWT tez-tez istifadəçilərin autentifikasiyası və icazəsinin verilməsi üçün istifadə olunur.
İş prinsipi:
- İstifadəçi daxil olduqda, server faydalı məlumatlar (məsələn, istifadəçi identifikatoru, rollar) ehtiva edən JWT yaradır və onu gizli açar ilə imzalayır.
- Müştəri bu tokeni saxlayır və növbəti sorğularda Authorization başlığında göndərir.
- Server tokenin imzasını yoxlayır, məlumatları çıxarır və onlara əsasən giriş qərarı verir.
ASP.NET Core-da JWT konfiqurasiyası nümunəsi:
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"))
};
});
Beləliklə, JWT təhlükəsiz və rahat şəkildə sessiyaları idarə etməyə imkan verir, serverdə vəziyyəti saxlamaq olmadan.