Incompatibilidade do Token CSRF no NexoPOS
Após instalar o NexoPOS, você pode encontrar um erro de incompatibilidade de token CSRF ao tentar fazer login. Esse problema geralmente está relacionado à forma como o aplicativo foi configurado inicialmente. Este guia explica a causa e como resolvê-la.
O que causa esse problema?
Esse problema ocorre frequentemente quando o NexoPOS é instalado usando o servidor de desenvolvimento integrado do Laravel (php artisan serve). Nesses casos, a configuração do .env é definida automaticamente usando a URL de instalação — comumente 127.0.0.1:8000.
Se você acessar o aplicativo posteriormente usando um domínio ou endereço IP diferente, a configuração existente fica inconsistente. Como resultado, a validação do token CSRF falha, levando ao erro de incompatibilidade. Acessar o aplicativo pelo endereço original (por exemplo, 127.0.0.1:8000) ainda funcionará porque corresponde à configuração inicial.
É importante notar que o NexoPOS depende do Laravel Sanctum para autenticação, o que exige uma configuração de domínio consistente.
Como corrigir a incompatibilidade do token CSRF
Para resolver este problema, você precisa garantir que a configuração do seu aplicativo corresponda ao domínio usado para acessá-lo.
Especificamente, as seguintes variáveis .env devem estar alinhadas:
- APP_URL
- SESSION_DOMAIN
- SANCTUM_STATEFUL_DOMAINS
Se a sua aplicação usa uma porta (por exemplo, yourwebsite.com:8888), observe que SESSION_DOMAIN não deve incluir a porta.
Exemplo (usando um domínio):
APP_URL=http://yourwebsite.com
SANCTUM_STATEFUL_DOMAINS=yourwebsite.com
SESSION_DOMAIN=yourwebsite.com
Exemplo (usando localhost com a porta):
APP_URL=http://127.0.0.1
SANCTUM_STATEFUL_DOMAINS=127.0.0.1:8000
SESSION_DOMAIN=127.0.0.1
Após atualizar a configuração, atualize o navegador e limpe os cookies existentes para garantir que as alterações tenham efeito.
Este ajuste só é necessário se você alterar o endereço usado para acessar sua instalação do NexoPOS.
Se o problema persistir, sinta-se à vontade para entrar em contato conosco em [email protected] para suporte premium