UDT-002: Logout + Refresh Token con rotación y chain revocation #3

Merged
dmolinari merged 36 commits from feature/UDT-002 into main 2026-04-14 17:37:47 +00:00
Showing only changes of commit fd2ff8a802 - Show all commits

View File

@@ -26,6 +26,25 @@ public sealed class ExceptionFilter : IExceptionFilter
context.ExceptionHandled = true;
break;
case TokenReuseDetectedException reuseEx:
// Log with detail on the backend but return generic 401 to client
_logger.LogWarning("Token reuse detected — possible session compromise: {Message}", reuseEx.Message);
context.Result = new ObjectResult(new { error = "Token inválido" })
{
StatusCode = StatusCodes.Status401Unauthorized
};
context.ExceptionHandled = true;
break;
case InvalidRefreshTokenException:
// Generic 401 — do NOT reveal if token was expired, not found, or mismatched
context.Result = new ObjectResult(new { error = "Token inválido" })
{
StatusCode = StatusCodes.Status401Unauthorized
};
context.ExceptionHandled = true;
break;
case ValidationException validationEx:
var errors = validationEx.Errors
.GroupBy(e => e.PropertyName)