Sobes.tech
Junior — Middle

Оё метавонед шарҳи кунед, JWT чист ва чӣ гуна дар барномаҳои ASP.NET истифода мешавад?

sobes.tech AI

Ҷавоб аз AI

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

Ish prinsipi:

  • Foydalanuvchi kirish qilganda, server foydalanuvchi identifikatori, rollar kabi foydali ma’lumotlarni 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 boshqarishga imkon beradi, serverda holatni saqlamasdan.