Sobes.tech
Junior — Middle

JWT nima va u ASP.NET ilovalarida qanday ishlatilishini tushuntirib bera olasizmi?

sobes.tech AI

AIdan javob

JWT (JSON Web Token) — bu JSON obyekti shaklida tomonlar o‘rtasida ma’lumotlarni uzatish uchun mos va URL-ga xavfsiz usul. ASP.NET ilovalarida JWT ko‘pincha foydalanuvchilarni autentifikatsiya qilish va ruxsat berish uchun ishlatiladi.

Ishlash prinsipi:

  • Foydalanuvchi kirish qilganda, server foydali ma’lumotlarni (masalan, foydalanuvchi identifikatori, rollar) o‘z ichiga olgan JWT yaratadi va uni maxfiy kalit bilan imzolaydi.
  • Mijoz bu tokenni saqlaydi va keyingi so‘rovlarida Authorization sarlavhasida yuboradi.
  • Server token imzosini tekshiradi, ma’lumotlarni chiqaradi va ularga asoslangan holda kirish qarorini qabul qiladi.

ASP.NET Core’da JWT konfiguratsiya misoli:

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"))
    };
});

Shu tarzda, JWT xavfsiz va qulay tarzda sessiyalarni boshqarish imkonini beradi, serverda holatni saqlamasdan.