Achieved endpoint authentication

This commit is contained in:
2026-08-21 12:33:31 +02:00
parent 7535c60ca6
commit a3bf7b375b
5 changed files with 78 additions and 9 deletions
+33 -6
View File
@@ -54,18 +54,18 @@ public static class Security
services.AddDataProtection().PersistKeysToDbContext<DataProtectionDbContext>()
.ProtectKeysWithCertificate(certificate)
.SetApplicationName("LiteCharmsApp");
.SetApplicationName("PfmApp");
services.Configure<DataProtectionOptions>(options => options.ApplicationDiscriminator = "LiteCharmsApp");
services.Configure<DataProtectionOptions>(options => options.ApplicationDiscriminator = "PfmApp");
services.ConfigureCookieOidcSameSiteSupport();
var configSection = configuration.GetSection(nameof(SecuritySettings));
var configSection = configuration.GetSection(nameof(SecurityClientSettings));
var authOptions = new SecuritySettings();
var authOptions = new SecurityClientSettings();
configSection.Bind(authOptions);
services.Configure<SecuritySettings>(configSection);
services.Configure<SecurityClientSettings>(configSection);
services.AddAuthentication(options =>
{
@@ -76,7 +76,7 @@ public static class Security
{
options.Cookie.SecurePolicy = CookieSecurePolicy.Always;
options.Cookie.SameSite = SameSiteMode.Lax;
options.Cookie.Name = "LiteCharmsApp.Session";
options.Cookie.Name = "PfmApp.Session";
})
.AddOpenIdConnect(OpenIdConnectDefaults.AuthenticationScheme, options =>
{
@@ -123,4 +123,31 @@ public static class Security
return services;
}
public static IServiceCollection AddApiSecurity(this IServiceCollection services, IConfiguration configuration)
{
var configSection = configuration.GetSection(nameof(SecuritySettings));
var authOptions = new SecuritySettings();
configSection.Bind(authOptions);
services.Configure<SecuritySettings>(configSection);
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(options =>
{
options.Authority = authOptions.Authority;
options.Audience = authOptions.Audience;
options.TokenValidationParameters = new TokenValidationParameters
{
ValidIssuer = authOptions.Authority,
ValidateAudience = true,
ValidateIssuer = true,
};
});
services.AddAuthorization();
return services;
}
}