Add JWT debugging and fix Keycloak networking

- Added JWT authentication event logging to diagnose validation failures
- Fixed docker-compose networking for API to reach Keycloak via hostname
- Debug endpoint now accessible without auth for troubleshooting
- Still investigating why claims are not populated despite token being present
This commit is contained in:
WorkClub Automation
2026-03-20 10:30:10 +01:00
parent 97baf266a8
commit 4ba76288b5
2 changed files with 25 additions and 7 deletions
+22
View File
@@ -57,6 +57,28 @@ builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
ValidateLifetime = true, ValidateLifetime = true,
ValidateIssuerSigningKey = true ValidateIssuerSigningKey = true
}; };
options.Events = new JwtBearerEvents
{
OnAuthenticationFailed = context =>
{
Console.WriteLine($"JWT Authentication Failed: {context.Exception.Message}");
if (context.Exception.InnerException != null)
{
Console.WriteLine($"Inner Exception: {context.Exception.InnerException.Message}");
}
return Task.CompletedTask;
},
OnTokenValidated = context =>
{
Console.WriteLine($"JWT Token Validated for user: {context.Principal?.Identity?.Name ?? "unknown"}");
return Task.CompletedTask;
},
OnChallenge = context =>
{
Console.WriteLine($"JWT Challenge: {context.Error}");
return Task.CompletedTask;
}
};
}); });
builder.Services.AddScoped<IClaimsTransformation, ClubRoleClaimsTransformation>(); builder.Services.AddScoped<IClaimsTransformation, ClubRoleClaimsTransformation>();
+2 -6
View File
@@ -70,12 +70,8 @@ services:
ports: ports:
- "5001:8080" - "5001:8080"
extra_hosts: extra_hosts:
- "localhost:host-gateway" - "localhost:172.18.0.1"
- "127.0.0.1:host-gateway" - "127.0.0.1:172.18.0.1"
networks:
app-network:
aliases:
- keycloak.internal
working_dir: /app working_dir: /app
volumes: volumes:
- ./backend:/app:cached - ./backend:/app:cached