HttpOnly Cookies y Filtros Avanzados
1. Seguridad: Cookies HttpOnly Backend (ChatbotApi): AuthController.cs : Ahora setea una cookie HttpOnly, Secure y SameSite=Strict llamada X-Access-Token en lugar de devolver el token en el cuerpo de la respuesta. AuthController.cs : Añadido endpoint logout para invalidar la cookie. Program.cs : Configurado JwtBearer para leer el token desde la cookie si está presente. Frontend (chatbot-admin): apiClient.ts : Configurado con withCredentials: true para enviar cookies automáticamente. Eliminado el interceptor de localStorage. Login.tsx : Eliminado manejo de token manual. Ahora solo comprueba éxito (200 OK). App.tsx : Refactorizado para comprobar autenticación mediante una petición a /api/admin/contexto al inicio, en lugar de leer localStorage. 2. Filtros y Búsqueda Logs ( AdminController.cs & LogsViewer.tsx ): Implementado filtrado en servidor por Fecha Inicio, Fecha Fin y Búsqueda de texto. Frontend actualizado con selectores de fecha y barra de búsqueda. Contexto y Fuentes ( ContextManager.tsx & SourceManager.tsx ): Añadida barra de búsqueda en el cliente para filtrar rápidamente por nombre, valor o descripción.
This commit is contained in:
@@ -57,7 +57,7 @@ namespace ChatbotApi.Controllers
|
||||
try
|
||||
{
|
||||
await _context.SaveChangesAsync();
|
||||
_cache.Remove(CacheKey); // Invalidate cache
|
||||
_cache.Remove(CacheKey); // Invalidar caché
|
||||
}
|
||||
catch (DbUpdateConcurrencyException)
|
||||
{
|
||||
@@ -82,7 +82,7 @@ namespace ChatbotApi.Controllers
|
||||
systemPrompt.UpdatedAt = DateTime.UtcNow;
|
||||
_context.SystemPrompts.Add(systemPrompt);
|
||||
await _context.SaveChangesAsync();
|
||||
_cache.Remove(CacheKey); // Invalidate cache
|
||||
_cache.Remove(CacheKey); // Invalidar caché
|
||||
|
||||
return CreatedAtAction("GetSystemPrompt", new { id = systemPrompt.Id }, systemPrompt);
|
||||
}
|
||||
@@ -99,7 +99,7 @@ namespace ChatbotApi.Controllers
|
||||
|
||||
_context.SystemPrompts.Remove(systemPrompt);
|
||||
await _context.SaveChangesAsync();
|
||||
_cache.Remove(CacheKey); // Invalidate cache
|
||||
_cache.Remove(CacheKey); // Invalidar caché
|
||||
|
||||
return NoContent();
|
||||
}
|
||||
@@ -117,7 +117,7 @@ namespace ChatbotApi.Controllers
|
||||
systemPrompt.IsActive = !systemPrompt.IsActive;
|
||||
systemPrompt.UpdatedAt = DateTime.UtcNow;
|
||||
await _context.SaveChangesAsync();
|
||||
_cache.Remove(CacheKey); // Invalidate cache
|
||||
_cache.Remove(CacheKey); // Invalidar caché
|
||||
|
||||
return Ok(new { IsActive = systemPrompt.IsActive });
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user