From 151c785af983f2d466ae57951095330759a9b88d Mon Sep 17 00:00:00 2001 From: TekH Date: Fri, 12 Jun 2026 15:21:50 +0200 Subject: [PATCH] Enhance JSON options and authorization policies Added JSON serialization options to ignore reference cycles in the `AddControllers` method by configuring `ReferenceHandler` to `IgnoreCycles`. Updated the `AddAuthorizationBuilder` to include authentication schemes for the `SenderOrReceiver` policy, requiring roles and schemes for enhanced security. --- EnvelopeGenerator.API/Program.cs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/EnvelopeGenerator.API/Program.cs b/EnvelopeGenerator.API/Program.cs index 2ea3ce27..464f5c23 100644 --- a/EnvelopeGenerator.API/Program.cs +++ b/EnvelopeGenerator.API/Program.cs @@ -44,7 +44,11 @@ try var deferredProvider = new DeferredServiceProvider(); - builder.Services.AddControllers(); + builder.Services.AddControllers() + .AddJsonOptions(options => + { + options.JsonSerializerOptions.ReferenceHandler = System.Text.Json.Serialization.ReferenceHandler.IgnoreCycles; + }); builder.Services.AddHttpClient(); builder.Services.AddReverseProxy().LoadFromConfig(builder.Configuration.GetSection("ReverseProxy")); @@ -238,8 +242,9 @@ try }); builder.Services.AddAuthorizationBuilder() - .AddPolicy(AuthPolicy.SenderOrReceiver, policy => policy.RequireRole(Role.Sender, Role.Receiver.Full)) - + .AddPolicy(AuthPolicy.SenderOrReceiver, policy => policy + .RequireRole(Role.Sender, Role.Receiver.Full) + .AddAuthenticationSchemes(AuthScheme.Sender, AuthScheme.Receiver)) .AddPolicy(AuthPolicy.Sender, policy => policy .RequireRole(Role.Sender) .AddAuthenticationSchemes(AuthScheme.Sender))