Junior — Middle
Kun je uitleggen wat JWT is en hoe het wordt gebruikt in ASP.NET-toepassingen?
sobes.tech AI
Antwoord van AI
JWT (JSON Web Token) is een compacte en URL-veilig manier om informatie tussen partijen over te dragen in de vorm van een JSON-object. In ASP.NET-toepassingen wordt JWT vaak gebruikt voor authenticatie en autorisatie van gebruikers.
Werking:
- Bij inloggen maakt de server een JWT aan dat nuttige gegevens bevat (bijvoorbeeld gebruikers-ID, rollen) en ondertekent het met een geheime sleutel.
- De client bewaart deze token en stuurt het in de Authorization-header bij volgende verzoeken.
- De server verifieert de handtekening van de token, haalt de gegevens eruit en neemt op basis daarvan beslissingen over toegang.
Voorbeeld van JWT-configuratie in 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"))
};
});
Op deze manier maakt JWT het mogelijk om sessies veilig en handig te beheren zonder toestand op de server op te slaan.