Bonjour,
Voila je rencontre un petit problème avec mon code.
J'utilise la validation CSRF lors de l'envoi de formulaire avec un input de type hidden pour envoyer le token avec les autres paramètres
<form method="post" action="{{action('UsersController@saveCompanyData)}}"
{{ csrf_field() }} // affiche un input de type hidden avec le csrf
// ......
</form>
Je suis en ajax et cette méthode fonctionne parfaitement lorsque je me connecte de façon classique.
MAIS, ne fonctionne plus quand je me connecte avec l'option "se souvenir de moi" (j'utilise le système de connexion généré par laravel avec la ligne de commande php artisan make:auth)
J'obtiens une erreur de type "TOKEN MISMATCH", ce qui signifie que le token que j'envoie ne correspond plus.
Comment gérez-vous ce cas ?
Merci beaucoup de votre aide.
Bien vu @AlexJM : J'utilisais déjà la balise meta pour stocker le token pour mes requetes AJAX, MAIS dorénavant je passe le token dans le header de la requête elle-même, et ça fonctionne parfaitement. Laravel doit checker ici si le token est présent. Merci.
Du coup, comme l'indique la doc, j'ai juste paramétrer TOUTES mes requêtes ajax avec :
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});