Sobes.tech
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.