feat: Cookie-basierte Authentifizierung zur Anwendung hinzufügen
- `CookieAuthenticationDefaults.AuthenticationScheme` zur Benutzerauthentifizierung integriert. - Cookie-Einstellungen konfiguriert, um die Sicherheit zu erhöhen: - `HttpOnly`-Flag gesetzt, um den Zugriff von clientseitigen Skripten zu verhindern. - `SecurePolicy` so eingestellt, dass Cookies nur über HTTPS-Anfragen gesendet werden. - `SameSite` auf `Strict` gesetzt, um CSRF-Angriffe zu mindern. - Benutzerdefinierte Anmelde-(`/api/auth/login`) und Abmeldepfade (`/api/auth/logout`) definiert.
This commit is contained in:
parent
0ef327a059
commit
65ad9e6da0
@ -2,6 +2,7 @@ using WorkFlow.Application;
|
||||
using DigitalData.UserManager.Application;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using WorkFlow.Infrastructure;
|
||||
using Microsoft.AspNetCore.Authentication.Cookies;
|
||||
|
||||
var builder = WebApplication.CreateBuilder(args);
|
||||
var config = builder.Configuration;
|
||||
@ -12,7 +13,17 @@ builder.Services.AddDbContext<WFDBContext>(options => options.UseSqlServer(cnn_s
|
||||
builder.Services.AddWorkFlow().AddUserManager<WFDBContext>();
|
||||
|
||||
builder.Services.AddControllers();
|
||||
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
|
||||
|
||||
builder.Services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
|
||||
.AddCookie(options =>
|
||||
{
|
||||
options.Cookie.HttpOnly = true; // Makes the cookie inaccessible to client-side scripts for security
|
||||
options.Cookie.SecurePolicy = CookieSecurePolicy.SameAsRequest; // Ensures cookies are sent over HTTPS only
|
||||
options.Cookie.SameSite = SameSiteMode.Strict; // Protects against CSRF attacks by restricting how cookies are sent with requests from external sites
|
||||
options.LoginPath = "/api/auth/login";
|
||||
options.LogoutPath = "/api/auth/logout";
|
||||
});
|
||||
|
||||
builder.Services.AddEndpointsApiExplorer();
|
||||
builder.Services.AddSwaggerGen();
|
||||
|
||||
@ -27,6 +38,8 @@ if (app.Environment.IsDevelopment())
|
||||
|
||||
app.UseHttpsRedirection();
|
||||
|
||||
app.UseAuthentication();
|
||||
|
||||
app.UseAuthorization();
|
||||
|
||||
app.MapControllers();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user