Início
NexoPOS

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.

csrf-token-mismatch

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