Merge pull request 'Corregido error 401 Unauthorized en la edición de menús con nombres que contienen la palabra 'login'.' (#56) from url-interceptor into main
oggui-debian-package/pipeline/head This commit looks good Details
testing/ogGui-multibranch/pipeline/head There was a failure building this commit Details

Reviewed-on: #56
feature-run-as-admin^2 1.2.5
Juan Manuel Bardallo 2026-03-27 08:38:32 +01:00
commit 978a1a98ff
2 changed files with 16 additions and 1 deletions

View File

@ -1,4 +1,8 @@
# Changelog
## [1.2.5] - 2026-03-27
### Fixed
- Corregido error 401 Unauthorized en la edición de menús con nombres que contienen la palabra "login". Se ha refinado el interceptor para aplicar el prefijo "Bearer" de forma selectiva mediante validación exacta del path `/auth/login`.
## [1.2.4] - 2026-03-20
### Added
- Se ha mejorado el editor de menus para poder editar directamente la plantilla twig en lugar del html renderizado.

View File

@ -12,7 +12,18 @@ export class CustomInterceptor implements HttpInterceptor {
const token = localStorage.getItem('loginToken');
let newCloneRequest;
if (req.url.includes('login')) {
// Usamos el objeto URL para ser quirúrgicos y detectar si el PATH es exactamente "/auth/login":
let isLoginPath = false;
try {
// req.url puede ser relativa o absoluta
const url = new URL(req.url, window.location.origin);
isLoginPath = url.pathname === '/auth/login';
} catch (e) {
// Fallback por si la URL es inválida, aunque no debería ocurrir
isLoginPath = req.url.includes('/auth/login') && !req.url.includes('menu-raw');
}
if (isLoginPath) {
newCloneRequest = req.clone({
setHeaders: {
Authorization: `${token}`