JWT Bearer Authentication configureren
Richt tokenvalidatie in de pipeline in.
JWT Bearer Authentication configureren is een gratis C# Academy-les op CoddyKit. Dit is les 2 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject C# Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus C# Academy bevat in totaal 4 lessen.
De JWT Bearer-handler
ASP.NET Core valideert binnenkomende JWT's met de JWT Bearer-authenticatiehandler uit het pakket Microsoft.AspNetCore.Authentication.JwtBearer.
Deze leest het token uit de header Authorization: Bearer ..., valideert het en bouwt een ClaimsPrincipal.
dotnet add package Microsoft.AspNetCore.Authentication.JwtBearerAddAuthentication
De registratie begint met AddAuthentication. Je stelt het standaardschema in, zodat het framework weet welke handler moet worden gebruikt wanneer geen schema is opgegeven.
JwtBearerDefaults.AuthenticationScheme is de tekenreeks "Bearer".
builder.Services
.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer();Opties voor AddJwtBearer
De overload van AddJwtBearer accepteert een optiedelegate waarin je configureert hoe tokens worden gevalideerd.
De belangrijkste eigenschap is TokenValidationParameters.
builder.Services
.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(options =>
{
options.TokenValidationParameters = new TokenValidationParameters
{
// configured below
};
});De uitgever en doelgroep valideren
Stel ValidateIssuer en ValidateAudience in om te controleren of het token afkomstig is van je vertrouwde autoriteit en bedoeld is voor je API.
ValidIssuer en ValidAudience moeten overeenkomen met de claims iss en aud in het token.
var tvp = new TokenValidationParameters
{
ValidateIssuer = true,
ValidIssuer = builder.Configuration["Jwt:Issuer"],
ValidateAudience = true,
ValidAudience = builder.Configuration["Jwt:Audience"]
};De ondertekeningssleutel valideren
De belangrijkste controle voor de beveiliging is ValidateIssuerSigningKey met een IssuerSigningKey. Hiermee wordt bevestigd dat de handtekening met jouw geheim is gemaakt.
Voor symmetrische ondertekening (HS256 maak je een SymmetricSecurityKey op basis van de bytes van het geheim.
var key = new SymmetricSecurityKey(
Encoding.UTF8.GetBytes(builder.Configuration["Jwt:Key"]!));
tvp.ValidateIssuerSigningKey = true;
tvp.IssuerSigningKey = key;De geldigheidsduur valideren
ValidateLifetime = true wijst verlopen tokens af door de claims exp en nbf te controleren.
ClockSkew voegt tolerantie toe voor tijdsverschillen tussen servers. De standaardwaarde is 5 minuten; maak deze waarde strenger voor kort geldige tokens.
tvp.ValidateLifetime = true;
tvp.ClockSkew = TimeSpan.FromSeconds(30);Alles samenvoegen
Een volledige configuratie voor productie combineert alle validatieparameters op één plek.
builder.Services
.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(options =>
{
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidIssuer = builder.Configuration["Jwt:Issuer"],
ValidateAudience = true,
ValidAudience = builder.Configuration["Jwt:Audience"],
ValidateIssuerSigningKey = true,
IssuerSigningKey = new SymmetricSecurityKey(
Encoding.UTF8.GetBytes(builder.Configuration["Jwt:Key"]!)),
ValidateLifetime = true,
ClockSkew = TimeSpan.FromSeconds(30)
};
});De volgorde van middleware
Alleen configuratie is niet genoeg. Je moet de middleware voor authenticatie en autorisatie aan de verwerkingspijplijn toevoegen, en de volgorde is belangrijk.
UseAuthentication moet vóór UseAuthorization komen.
var app = builder.Build();
app.UseAuthentication();
app.UseAuthorization();
app.MapControllers();
app.Run();Eindpunten beveiligen
Als alles is geconfigureerd, markeer je eindpunten met [Authorize] (controllers) of .RequireAuthorization() (minimale API's) om een geldig token te vereisen.
app.MapGet("/me", (ClaimsPrincipal user) =>
new { id = user.FindFirstValue(ClaimTypes.NameIdentifier) })
.RequireAuthorization();Een vertrouwde autoriteit gebruiken
Als je tokens afkomstig zijn van een externe identiteitsprovider (bijvoorbeeld Microsoft Entra ID of Auth0), stel je Authority in plaats van een statische sleutel in.
De handler downloadt vervolgens automatisch de ondertekeningssleutels uit het discoverydocument van de provider.
.AddJwtBearer(options =>
{
options.Authority = "https://login.myidp.com/";
options.Audience = "my-api";
// Keys are fetched from the OpenID configuration endpoint
});Validatiefouten lezen
JWT Bearer genereert gebeurtenissen waarop je kunt inhaken voor logboekregistratie of aangepaste antwoorden, zoals OnAuthenticationFailed en OnChallenge.
options.Events = new JwtBearerEvents
{
OnAuthenticationFailed = ctx =>
{
logger.LogWarning(ctx.Exception, "JWT validation failed");
return Task.CompletedTask;
}
};Korte controle
Controleer hoe goed je de configuratie van de verwerkingspijplijn beheerst.
Samenvatting
Je hebt JWT Bearer-authenticatie geconfigureerd:
AddAuthentication(...).AddJwtBearer(...)registreert de handler.TokenValidationParametersbepaalt de controles voor uitgever, doelgroep, ondertekeningssleutel en geldigheidsduur.UseAuthentication()moet vóórUseAuthorization()komen.- Gebruik
Authorityvoor externe identiteitsproviders.
Vervolgens leer je hoe je je eigen tokens uitgeeft.
Leer C# met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 93
- Lessen
- 346
Veelgestelde vragen
Is de les “JWT Bearer Authentication configureren” gratis?
Ja — de volledige tekst van “JWT Bearer Authentication configureren” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus C# Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus C# Academy bevat in totaal 4 lessen.
Wat leer ik in “JWT Bearer Authentication configureren”?
Richt tokenvalidatie in de pipeline in. Je oefent met C# Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met C# Academy te beginnen?
Ervaring vooraf is niet nodig. C# Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.
Hoe lang duurt de les “JWT Bearer Authentication configureren”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over C# Academy?
Ja. Elke les over C# Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- JWT-structuur en claims
- JWT Bearer Authentication configureren
- Tokens uitgeven
- Refresh tokens en verloop