diff --git a/NEW/src/JdeScoping.Client/Http/AuthRedirectHandler.cs b/NEW/src/JdeScoping.Client/Http/AuthRedirectHandler.cs
new file mode 100644
index 0000000..2731dad
--- /dev/null
+++ b/NEW/src/JdeScoping.Client/Http/AuthRedirectHandler.cs
@@ -0,0 +1,33 @@
+using System.Net;
+using Microsoft.AspNetCore.Components;
+
+namespace JdeScoping.Client.Http;
+
+///
+/// HTTP message handler that intercepts 401 Unauthorized responses
+/// and redirects to the login page with return URL.
+///
+public class AuthRedirectHandler : DelegatingHandler
+{
+ private readonly NavigationManager _navigationManager;
+
+ public AuthRedirectHandler(NavigationManager navigationManager)
+ {
+ _navigationManager = navigationManager;
+ }
+
+ protected override async Task SendAsync(
+ HttpRequestMessage request,
+ CancellationToken cancellationToken)
+ {
+ var response = await base.SendAsync(request, cancellationToken);
+
+ if (response.StatusCode == HttpStatusCode.Unauthorized)
+ {
+ var returnUrl = Uri.EscapeDataString(_navigationManager.Uri);
+ _navigationManager.NavigateTo($"/login?returnUrl={returnUrl}", forceLoad: true);
+ }
+
+ return response;
+ }
+}