Définir correctement les en-têtes pour Laravel 5 Jeton CSRF
Bien, été la recherche de ce un pour les heures et juste ne pouvez pas trouver le début d'une solution.
Je suis en utilisant un angularJS frontend avec laravel backend. Restangular est mon communcation service.
Mon POST sont beaux, parce que je peux inclure le _token dans les données et il va fonctionner.
Mais pour Restangular d'appeler une de détruire la fonction qu'il ressemble à...
Restangular.all('auth/logout').remove(); //maps to AuthController@Destroy
Tous très bien, mais ensuite, vous aurez un TOKENMISMATCH Exception, ce qui est une bonne sécurité messure
Puisque je ne peux pas trouver un moyen d'inclure le _token dans le supprimer, puisque c'est le corps-de moins en substance, j'ai décidé de mettre le jeton dans l'en-tête.
RestangularProvider.setDefaultHeaders({'X-XSRF-TOKEN': CSRF_TOKEN}); //CSRF_TOKEN gathered elsewhere
De Chrome dev tolos, je peux voir l'en-tête est défini à
X-XSRF-TOKEN:ClkQIRLpFQgMg8ZT6X5CF6doCplRfdJzW8msx2JI
X-XSRF-JETON est exactement ce que l'VerifyCrsfToken.php est à la recherche pour. Pourtant, il crache un déchiffrer erreur. Tout autre nom de jeton, comme XSRF-JETON, _TOKEN, CSRF_TOKEN tous cracher jeton d'incompatibilité.
À cause de ce dernier fait, il semble que l'en-tête est déclarée correctement, mais quelque chose au-delà de ma compréhension est à l'origine de Laravel à l'échec de la déchiffrer. Et je suis près à le déchiffrer la fonction, mais ne comprends pas pourquoi il faudrait en panne...
Merci pour votre aide.
'X-CSRF-TOKEN': CSRF_TOKEN
?OriginalL'auteur csduarte | 2014-12-04
Vous devez vous connecter pour publier un commentaire.
C'est à cause du cryptage de le jeton csrf. Laravel attendre le jeton d'être chiffrées.
Il tente de déchiffrer la plaine de jeton que vous fournissez et il échoue.
Avant de pouvoir utiliser le jeton dans l'en-tête que vous avez à les chiffrer.
Qui a fait le tour pour moi.
Alex
est correcte sur le XSRF-JETON de cookie également en cours lors de la demande de cycle de vie. J'ai ENFIN reçu mon AJAX de travail entièrement (où aucun _token a été mis sur la forme pour diverses raisons) par la mise à jour de mon VerifyCsrfToken.php middleware de vérifier la
$request->cookie('XSRF-TOKEN')
si elle est définie.Pourriez-vous s'il vous plaît partager le code comment vous avez obtenu votre VerifyCsrfToken middleware de travail? Serait vraiment utile! Si je comprends bien, ce faisant, il n'est pas nécessaire de régler manuellement le jeton d'en-tête angulaire, comme cela est fait automatiquement.
d'où cette "$encryption = app('Éclairer\Encryption\Encryption'); $encrypted_token = $encryption->crypter(csrf_token());" doit être appliqué ou appliqué?
OriginalL'auteur tiran
Pour Laravel 5, pas besoin pour ajouter jeton CSRF Angulaire en-têtes http.
Laravel 5 Angulaire faire cela automatiquement pour vous.
http://laravel.com/docs/5.1/routing#csrf-x-xsrf-token
OriginalL'auteur Modder