Authentication — who are you? Authorization — what can you do?
Authentication:
1// Program.cs2builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)3 .AddJwtBearer(options =>4 {5 options.TokenValidationParameters = new TokenValidationParameters6 {7 ValidateIssuer = true,8 ValidateAudience = true,9 ValidateLifetime = true,10 ValidateIssuerSigningKey = true,11 ValidIssuer = builder.Configuration["Jwt:Issuer"],12 ValidAudience = builder.Configuration["Jwt:Audience"],13 IssuerSigningKey = new SymmetricSecurityKey(key)14 };15 });1617app.UseAuthentication();
Authorization:
1// Policy-based2builder.Services.AddAuthorization(options =>3{4 options.AddPolicy("AdminOnly", policy =>5 policy.RequireRole("Admin"));67 options.AddPolicy("MinimumAge", policy =>8 policy.Requirements.Add(new MinimumAgeRequirement(18)));9});1011// Usage12[Authorize(Policy = "AdminOnly")]13public IActionResult AdminDashboard() { }1415[Authorize(Roles = "Admin,Manager")]16public IActionResult ManageUsers() { }
Order: