Junior — Middle
Môžete vysvetliť, čo je JWT a ako sa používa v aplikáciách ASP.NET?
sobes.tech AI
Odpoveď od AI
JWT (JSON Web Token) je kompaktan i URL-siguran način za prenos informacija između strana u obliku JSON objekta. U ASP.NET aplikacijama, JWT se često koristi za autentifikaciju i autorizaciju korisnika.
Princip rada:
- Pri prijavi, server kreira JWT koji sadrži korisne podatke (npr. identifikator korisnika, uloge) i ga potpisuje tajnim ključem.
- Klijent čuva ovaj token i šalje ga u zaglavlju Authorization pri narednim zahtevima.
- Server proverava potpis tokena, izvlači podatke i na osnovu njih donosi odluku o pristupu.
Primer konfiguracije JWT u ASP.NET Core:
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"))
};
});
Овим начином, JWT омогућава безбедно и згодно управљање сесијама без чувања стања на серверу.