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.