From 174b9067c820ec684db44a8e1d93837f5f4ee34e Mon Sep 17 00:00:00 2001 From: Pedro Date: Thu, 9 Apr 2026 09:42:48 +0200 Subject: [PATCH] sesiones arreglada --- .../Components/Pages/Home.razor | 72 +++++++++++++--- .../RegistroPersonalAN/Models/UserState.cs | 65 +++++++++++++-- .../Models/UserStateCookieStore.cs | 83 +++++++++++++++++++ Antifraude.Net/RegistroPersonalAN/Program.cs | 35 ++++---- 4 files changed, 222 insertions(+), 33 deletions(-) create mode 100644 Antifraude.Net/RegistroPersonalAN/Models/UserStateCookieStore.cs diff --git a/Antifraude.Net/RegistroPersonalAN/Components/Pages/Home.razor b/Antifraude.Net/RegistroPersonalAN/Components/Pages/Home.razor index 2532df8..d533131 100644 --- a/Antifraude.Net/RegistroPersonalAN/Components/Pages/Home.razor +++ b/Antifraude.Net/RegistroPersonalAN/Components/Pages/Home.razor @@ -106,6 +106,7 @@ { if (firstRender) { + await LimpiarEstadoUsuarioAsync(); // Se crea una referencia a este componente para que JS pueda invocar SetToken dotNetRef = DotNetObjectReference.Create(this); await JSRuntime.InvokeVoidAsync("registerTokenReceiver", dotNetRef); @@ -114,16 +115,21 @@ protected override void OnInitialized() { - LimpiarEstadoUsuario(); + LimpiarEstadoUsuarioLocal(); } - private void LimpiarEstadoUsuario() + private void LimpiarEstadoUsuarioLocal() { - UserState.Token = ""; - UserState.NombreUsu = ""; + UserState.Clear(); HttpContextAccessor?.HttpContext?.Session?.Clear(); } + private async Task LimpiarEstadoUsuarioAsync() + { + LimpiarEstadoUsuarioLocal(); + await JSRuntime.InvokeVoidAsync("registroPersonalAuth.clear"); + } + public async Task LogIn() { mostrar = true; @@ -168,6 +174,7 @@ UserState.Token = parsedJson["token"]?.ToString() ?? ""; // Actualizamos el nombre del usuario (formateado como "APELLIDOS, NOMBRE") UserState.NombreUsu = $"{parsedJson["user"]?["apellidos"]?.ToString()}, {parsedJson["user"]?["nombre"]?.ToString()}"; + await JSRuntime.InvokeVoidAsync("registroPersonalAuth.save", UserState.Token, UserState.NombreUsu); Navigation.NavigateTo("/cumplimientoTrienios", true); } else @@ -178,7 +185,7 @@ } [JSInvokable] - public Task SetToken(string token, string userJson) + public async Task SetToken(string token, string userJson) { // Actualizamos el token en UserState UserState.Token = token; @@ -192,13 +199,54 @@ { UserState.NombreUsu = ""; } + await JSRuntime.InvokeVoidAsync("registroPersonalAuth.save", UserState.Token, UserState.NombreUsu); Navigation.NavigateTo("/cumplimientoTrienios", true); - return Task.CompletedTask; } }