Inadéquation du jeton CSRF sur NexoPOS
Après avoir installé NexoPOS, vous pouvez rencontrer une erreur « CSRF Token Mismatch » lors de la tentative de connexion. Ce problème est généralement lié à la manière dont l’application a été configurée au départ. Ce guide explique la cause et comment le résoudre.
Qu’est-ce qui cause ce problème ?
Ce problème survient souvent lorsque NexoPOS est installé à l’aide du serveur de développement intégré de Laravel (php artisan serve). Dans ce cas, la configuration .env est automatiquement définie à l’aide de l’URL d’installation — généralement 127.0.0.1:8000.
Si vous accédez ultérieurement à l’application à l’aide d’un autre domaine ou d’une autre adresse IP, la configuration existante devient incohérente. En conséquence, la validation du jeton CSRF échoue, ce qui entraîne l’erreur de non-concordance. Accéder à l’application via l’adresse d’origine (par exemple, 127.0.0.1:8000) continuera de fonctionner, car elle correspond à la configuration initiale.
Il est important de noter que NexoPOS s’appuie sur Laravel Sanctum pour l’authentification, ce qui nécessite une configuration de domaine cohérente.
Comment corriger la non-concordance du jeton CSRF
Pour résoudre ce problème, vous devez vous assurer que la configuration de votre application correspond au domaine utilisé pour y accéder.
Plus précisément, les variables d’environnement .env suivantes doivent être alignées :
- APP_URL
- SESSION_DOMAIN
- SANCTUM_STATEFUL_DOMAINS
Si votre application utilise un port (par exemple, votrewebsite.com:8888), notez que SESSION_DOMAIN ne doit pas inclure le port.
Exemple (en utilisant un domaine) :
APP_URL=http://yourwebsite.com
SANCTUM_STATEFUL_DOMAINS=yourwebsite.com
SESSION_DOMAIN=yourwebsite.com
Exemple (en utilisant localhost avec le port) :
APP_URL=http://127.0.0.1
SANCTUM_STATEFUL_DOMAINS=127.0.0.1:8000
SESSION_DOMAIN=127.0.0.1
Après avoir mis à jour la configuration, actualisez votre navigateur et effacez les cookies existants pour vous assurer que les modifications prennent effet.
Ce réglage n’est nécessaire que si vous modifiez l’adresse utilisée pour accéder à votre installation NexoPOS.
Si le problème persiste, n’hésitez pas à nous contacter à [email protected] pour un support premium.