fix: Arranged auth Authentication Scheme

This commit is contained in:
Developer 02 2025-03-11 10:48:04 +01:00
parent c3f5d90b6a
commit d5b1ee41a0
2 changed files with 31 additions and 3 deletions

View File

@ -7,7 +7,7 @@ namespace WorkFlow.API.Controllers;
//TODO: implement up-to-date AuthController in UserManager //TODO: implement up-to-date AuthController in UserManager
[APIKeyAuth] [APIKeyAuth]
[Route("Auth")] [Route("api/Auth")]
[ApiController] [ApiController]
[Tags("Auth")] [Tags("Auth")]
public class PlaceholderAuthController : ControllerBase public class PlaceholderAuthController : ControllerBase

View File

@ -57,7 +57,11 @@ try
var authTokenKeys = config.GetSection(nameof(AuthTokenKeys)).Get<AuthTokenKeys>() ?? new(); var authTokenKeys = config.GetSection(nameof(AuthTokenKeys)).Get<AuthTokenKeys>() ?? new();
builder.Services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme) builder.Services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(opt => .AddJwtBearer(opt =>
{ {
opt.TokenValidationParameters = new TokenValidationParameters opt.TokenValidationParameters = new TokenValidationParameters
@ -93,6 +97,30 @@ try
builder.Services.AddEndpointsApiExplorer(); builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen(setupAct => builder.Services.AddSwaggerGen(setupAct =>
{ {
setupAct.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme
{
Description = "JWT Authorization header using the Bearer scheme. Example: \"Bearer {token}\"",
Name = "Authorization",
In = ParameterLocation.Header,
Type = SecuritySchemeType.Http,
Scheme = "Bearer"
});
setupAct.AddSecurityRequirement(new OpenApiSecurityRequirement
{
{
new OpenApiSecurityScheme
{
Reference = new OpenApiReference
{
Type = ReferenceType.SecurityScheme,
Id = "Bearer"
}
},
Array.Empty<string>()
}
});
if (!disableAPIKeyAuth) if (!disableAPIKeyAuth)
setupAct.OperationFilter<APIKeyAuthHeaderOpFilter>(); setupAct.OperationFilter<APIKeyAuthHeaderOpFilter>();