Laravel X-CSFR-Token stimmt nicht mit POSTMAN überein

8

Ich versuche, mit meiner mit Laravel erstellten REST-API zu kommunizieren. Der Aufruf mit POSTMAN wird jedoch aufgrund eines Token-Mismatch abgelehnt. Ich denke, ich muss das CSRF-Token in den Header aufnehmen. Aber brauche ich den verschlüsselten? Wenn ich dieses Token einfüge, erhalte ich immer noch den Fehler, dass ein Token nicht übereinstimmt.

Ich erhalte mein Token mit:

%Vor%

Aber soll sich das bei jeder Aktualisierung ändern?

    
sesc360 10.06.2015, 12:41
quelle

2 Antworten

9

Wenn Sie keine Formulare verwenden, beispielsweise für eine API, können Sie die Schritte hier Ссылка :

Fügen Sie Ihrem Blade- oder Zweigkopf im Wesentlichen Folgendes hinzu:

%Vor%

Installieren Sie Postbot Interceptor, falls noch nicht installiert, und schalten Sie es ein

Dann melden Sie sich in Ihrem Browser bei der Site an (Sie müssen autorisiert sein) und entweder das Element inspizieren oder die Quelle anzeigen, um das Token abzurufen

Legen Sie in Postman GET / POST usw. nach Bedarf fest, und erstellen Sie in Ihrem Header ein neues Paar

%Vor%

Einige Leute empfehlen, das CSRF-Token beim Testen der API auszuschalten, aber Sie testen es nicht wirklich, oder?

Wenn Sie feststellen, dass Sie immer noch Fehler haben, überprüfen Sie die Antwort mit preview , da Laravel mit ihren Fehlermeldungen ziemlich explizit ist. Wenn nichts zurückkommt, überprüfe dein php_error.log (wie auch immer es genannt wird).

    
brianlmerritt 25.04.2016, 09:50
quelle
3

Ja, es ändert sich bei jeder Aktualisierung. Sie sollten es in die Ansicht einfügen, und wenn Sie es veröffentlichen, muss es als Wert der POST-Variable "_token" gesendet werden.

Wenn Sie nur einen Standard-POST verwenden, fügen Sie diesen einfach dem Formular hinzu:

%Vor%

Wenn Sie AJAX verwenden, stellen Sie sicher, dass Sie den Wert von _token nehmen und mit der Anfrage übergeben.

REF: Ссылка

    
James Taylor 11.06.2015 02:37
quelle

Tags und Links