Set your Publisher ID in src/config/ads.ts to display live ads.
Authentication & Authorization with JWT Bearer
Securing APIs with signed tokens, claims, roles, and policies
Securing cloud APIs requires robust authentication and authorization. ASP.NET Core offers first-class support for JWT Bearer token validation, claims-based access control, and policy-driven authorization.
Configuring JWT Bearer in Program.cs
AddAuthentication(JwtBearerDefaults.AuthenticationScheme): Tells the framework to look for Authorization: Bearer <token> headers.
TokenValidationParameters: Verifies token signature, valid issuer, audience, and expiration date.
[Authorize]: Restricts endpoint access strictly to authenticated requests presenting valid tokens.
[Authorize(Roles = "Admin")]: Restricts access based on user role claims.
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.IdentityModel.Tokens;
using System.Text;
var builder = WebApplication.CreateBuilder(args);
var jwtKey = builder.Configuration["Jwt:Key"] ?? "super-secret-security-key-32-bytes!!";
builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(options =>
{
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidateAudience = true,
ValidateLifetime = true,
ValidateIssuerSigningKey = true,
ValidIssuer = builder.Configuration["Jwt:Issuer"],
ValidAudience = builder.Configuration["Jwt:Audience"],
IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(jwtKey))
};
});
builder.Services.AddAuthorization();
var app = builder.Build();
app.UseAuthentication(); // Must precede UseAuthorization
app.UseAuthorization();Set your Publisher ID in src/config/ads.ts to display live ads.
Test Yourself With Exercise
Which method call MUST precede app.UseAuthorization() in the middleware pipeline?