Wie kann ich eine Postanfrage an eine Laravel App mit Postman senden?
Normalerweise hat Laravel eine csrf_token
, die wir mit einer POST / PUT Anfrage übergeben müssen. Wie kann ich diesen Wert in Postman bekommen und senden? Ist es sogar möglich ohne den CSRF-Schutz abzuschalten?
Ah warte, ich habe die Frage falsch gelesen. Sie möchten es tun, ohne den CSRF-Schutz auszuschalten? Wie Bharat Geleda sagte: Sie können eine Route erstellen, die nur das Token zurückgibt und es manuell in ein _token
-Feld im Postboten kopiert.
Aber ich würde empfehlen, Ihre API-Aufrufe vom CSRF-Schutz auszuschließen, wie unten, und später eine Art API-Authentifizierung hinzuzufügen.
Welche Version von Laravel läufst du?
Seit 5.2 ist das CSRF-Token nur auf Routen mit web
Middleware erforderlich. Setzen Sie also Ihre API-Routen außerhalb der Gruppe mit web
Middleware.
Weitere Informationen finden Sie in der Rubrik "Die Standardrouten-Datei" in der Dokumentation .
> Sie können Routen, die keinen CSRF-Schutz haben sollten, in der VerifyCsrfToken
Middleware wie folgt ausschließen:
Weitere Informationen finden Sie in der Dokumentation für den Abschnitt "Ausschließen von URIs aus CSRF-Schutz".
Wenn Sie Ihre Sitzungen in Cookies speichern, können Sie den Cookie aus einer Authentifizierungsanforderung in den Entwicklertools abrufen.
Kopieren Sie das Cookie und fügen Sie es in die Kopfzeile Ihrer POSTMAN- oder Paw-Anfragen ein.
Mit diesem Ansatz können Sie Ihre API-Tests auf Ihre aktuelle Sitzung beschränken.
1. Sie können eine neue Route erstellen, um das csrf-Token mithilfe Ihres Controllers mithilfe der folgenden Funktion anzuzeigen. (Verwenden Sie eine Get-Anforderung auf der Route)
%Vor% 2.Wählen Sie die Registerkarte Body am Postboten und dann x-www-form-urlencoded.
3.Kopieren Sie das Token und fügen Sie den Postman als Wert für den Schlüssel _token ein.
4. Führen Sie Ihre Postanforderung auf Ihrer URL / Ihrem Endpunkt aus
In Laravel, 5.3. Gehen Sie zu app/Http/Kernel.php
find middlewareGroups
und kommentieren Sie VerifyCsrfToken. Weil es alle Middleware ausführt, bevor Sie Ihre Anfrage bearbeiten.