diff --git a/server/StrDss.Api/Authentication/ApsJwtBearerEvents.cs b/server/StrDss.Api/Authentication/ApsJwtBearerEvents.cs index 6e5f8dc6..11866c63 100644 --- a/server/StrDss.Api/Authentication/ApsJwtBearerEvents.cs +++ b/server/StrDss.Api/Authentication/ApsJwtBearerEvents.cs @@ -25,6 +25,17 @@ public ApsJwtBearerEvents(ICurrentUser currentUser, IUserService userService, IR _memoryCache = memoryCache; } + public override Task AuthenticationFailed(AuthenticationFailedContext context) + { + var username = context.HttpContext.User?.Identity?.Name ?? "Unknown"; + var ipAddress = context.HttpContext.Connection.RemoteIpAddress; + var ip = ipAddress == null ? "Unknown" : ipAddress.ToString(); + + _logger.LogInformation($"[AUTH] Authentication failed for user '{username}' from IP address '{ip}'."); + + return base.AuthenticationFailed(context); + } + public override async Task TokenValidated(TokenValidatedContext context) { _currentUser.LoadApsSession(context!.Principal!);