Refactor JWT auth scheme configuration

Replaced hardcoded per-envelope receiver JWT auth scheme string with a new `AuthScheme` static class containing a `Receiver` constant. Updated `Program.cs` to use `AuthScheme.Receiver` for authentication and policy configuration. Removed redundant comments and unused constants. Added necessary `using` directive for `AuthScheme`.
This commit is contained in:
2026-06-10 17:14:46 +02:00
parent fc7aa83513
commit a6e174e7c1
2 changed files with 15 additions and 5 deletions

View File

@@ -0,0 +1,12 @@
namespace EnvelopeGenerator.API;
/// <summary>
///
/// </summary>
public static class AuthScheme
{
/// <summary>
/// Scheme name used for per-envelope receiver JWT authentication.
/// </summary>
public const string Receiver = "EnvelopeGenerator.API.EnvelopeReceiverJwt";
}

View File

@@ -21,6 +21,7 @@ using EnvelopeGenerator.API.Options;
using NLog.Web; using NLog.Web;
using NLog; using NLog;
using DigitalData.Auth.Claims; using DigitalData.Auth.Claims;
using EnvelopeGenerator.API;
var logger = LogManager.Setup().LoadConfigurationFromAppSettings().GetCurrentClassLogger(); var logger = LogManager.Setup().LoadConfigurationFromAppSettings().GetCurrentClassLogger();
logger.Info("Logging initialized!"); logger.Info("Logging initialized!");
@@ -130,9 +131,6 @@ try
var authTokenKeys = config.GetOrDefault<AuthTokenKeys>(); var authTokenKeys = config.GetOrDefault<AuthTokenKeys>();
// Scheme name used for per-envelope receiver JWT authentication.
const string EnvelopeReceiverScheme = "EnvelopeReceiverJwt";
builder.Services.AddAuthentication(options => builder.Services.AddAuthentication(options =>
{ {
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
@@ -176,7 +174,7 @@ try
// last path segment of the request URL. // last path segment of the request URL.
// This enables simultaneous authentication for multiple envelopes // This enables simultaneous authentication for multiple envelopes
// within the same browser session. // within the same browser session.
.AddJwtBearer(EnvelopeReceiverScheme, opt => .AddJwtBearer(AuthScheme.Receiver, opt =>
{ {
opt.TokenValidationParameters = new TokenValidationParameters opt.TokenValidationParameters = new TokenValidationParameters
{ {
@@ -245,7 +243,7 @@ try
.AddPolicy(AuthPolicy.Sender, policy => policy.RequireRole(Role.Sender)) .AddPolicy(AuthPolicy.Sender, policy => policy.RequireRole(Role.Sender))
.AddPolicy(AuthPolicy.Receiver, policy => policy .AddPolicy(AuthPolicy.Receiver, policy => policy
.AddAuthenticationSchemes(EnvelopeReceiverScheme) .AddAuthenticationSchemes(AuthScheme.Receiver)
.RequireAuthenticatedUser() .RequireAuthenticatedUser()
.RequireRole(Role.Receiver.Full, "receiver")) .RequireRole(Role.Receiver.Full, "receiver"))