Discordancia del token CSRF en NexoPOS
Después de instalar NexoPOS, es posible que encuentres un error de discrepancia de token CSRF al intentar iniciar sesión. Este problema normalmente está relacionado con la forma en que la aplicación se configuró inicialmente. Esta guía explica la causa y cómo solucionarlo.
¿Qué causa este problema?
Este problema suele ocurrir cuando NexoPOS se instala usando el servidor de desarrollo integrado de Laravel (php artisan serve). En estos casos, la configuración del .env se establece automáticamente usando la URL de instalación, comúnmente 127.0.0.1:8000.
Si más adelante accedes a la aplicación usando un dominio o una dirección IP diferente, la configuración existente se vuelve inconsistente. Como resultado, la validación del token CSRF falla, lo que provoca el error de incompatibilidad. Acceder a la aplicación mediante la dirección original (por ejemplo, 127.0.0.1:8000) seguirá funcionando porque coincide con la configuración inicial.
Es importante tener en cuenta que NexoPOS se basa en Laravel Sanctum para la autenticación, lo que requiere una configuración de dominio coherente.
Cómo solucionar la discrepancia del token CSRF
Para resolver este problema, debe asegurarse de que la configuración de su aplicación coincida con el dominio utilizado para acceder a ella.
Específicamente, las siguientes variables .env deben estar alineadas:
- APP_URL
- SESSION_DOMAIN
- SANCTUM_STATEFUL_DOMAINS
Si tu aplicación utiliza un puerto (por ejemplo, yourwebsite.com:8888), ten en cuenta que SESSION_DOMAIN no debe incluir el puerto.
Ejemplo (usando un dominio):
APP_URL=http://yourwebsite.com
SANCTUM_STATEFUL_DOMAINS=yourwebsite.com
SESSION_DOMAIN=yourwebsite.com
Ejemplo (usando localhost con el puerto):
APP_URL=http://127.0.0.1
SANCTUM_STATEFUL_DOMAINS=127.0.0.1:8000
SESSION_DOMAIN=127.0.0.1
Después de actualizar la configuración, actualiza tu navegador y borra las cookies existentes para asegurarte de que los cambios surtan efecto.
Este ajuste solo es necesario si cambias la dirección utilizada para acceder a tu instalación de NexoPOS.
Si el problema persiste, no dude en contactarnos en [email protected] para obtener soporte premium