diff --git a/EnvelopeGenerator.API/AuthScheme.cs b/EnvelopeGenerator.API/AuthScheme.cs
index 5f2a2699..96e3b90d 100644
--- a/EnvelopeGenerator.API/AuthScheme.cs
+++ b/EnvelopeGenerator.API/AuthScheme.cs
@@ -8,5 +8,10 @@ public static class AuthScheme
///
/// Scheme name used for per-envelope receiver JWT authentication.
///
- public const string Receiver = "EnvelopeGenerator.API.EnvelopeReceiverJwt";
+ public const string Receiver = "EnvelopeGenerator.API.ReceiverJWT";
+
+ ///
+ /// Scheme name used for per-envelope sender JWT authentication.
+ ///
+ public const string Sender = "EnvelopeGenerator.API.SenderJWT";
}
diff --git a/EnvelopeGenerator.API/Program.cs b/EnvelopeGenerator.API/Program.cs
index fdcbd4c0..2ea3ce27 100644
--- a/EnvelopeGenerator.API/Program.cs
+++ b/EnvelopeGenerator.API/Program.cs
@@ -136,7 +136,7 @@ try
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
})
- .AddJwtBearer(opt =>
+ .AddJwtBearer(AuthScheme.Sender, opt =>
{
opt.TokenValidationParameters = new TokenValidationParameters
{
@@ -240,13 +240,13 @@ try
builder.Services.AddAuthorizationBuilder()
.AddPolicy(AuthPolicy.SenderOrReceiver, policy => policy.RequireRole(Role.Sender, Role.Receiver.Full))
- .AddPolicy(AuthPolicy.Sender, policy => policy.RequireRole(Role.Sender))
-
+ .AddPolicy(AuthPolicy.Sender, policy => policy
+ .RequireRole(Role.Sender)
+ .AddAuthenticationSchemes(AuthScheme.Sender))
.AddPolicy(AuthPolicy.Receiver, policy => policy
.AddAuthenticationSchemes(AuthScheme.Receiver)
.RequireAuthenticatedUser()
.RequireRole(Role.Receiver.Full, "receiver"))
-
.AddPolicy(AuthPolicy.ReceiverTFA, policy => policy.RequireRole(Role.Receiver.TFA));
// User manager