webentwicklung-frage-antwort-db.com.de

Wie benutzt man Postman für Laravel $ _POST-Anfrage

Wie kann ich versuchen, eine Post-Anfrage an eine Laravel App mit Postman zu senden?

Normalerweise hat Laravel einen csrf_token, den wir mit einer POST/PUT-Anfrage übergeben müssen. Wie kann ich diesen Wert in Postman erhalten und senden? Ist es überhaupt möglich ohne auszuschalten den CSRF-Schutz?

12
Hilmanrdn

Bearbeiten:

Ich warte, ich habe die Frage falsch verstanden. 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 des Postboten kopieren.

Ich würde jedoch empfehlen, Ihre API-Aufrufe wie unten beschrieben vom CSRF-Schutz auszuschließen und später eine Art API-Authentifizierung hinzuzufügen.

Welche Version von Laravel hast du?

Laravel 5.2 und höher:

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 Überschrift "The Default Routes File" in der Dokumentation .

Laravel 5.1 und 5.2:

Sie können Routen ausschließen, die keinen CSRF-Schutz in der VerifyCsrfToken-Middleware haben sollten, wie folgt:

class VerifyCsrfToken extends BaseVerifier
{
    /**
     * The URIs that should be excluded from CSRF verification.
     *
     * @var array
     */
    protected $except = [
        'api/*',
    ];
}

Weitere Informationen finden Sie in der Überschrift Dokumentation unter "URIs vom CSRF-Schutz ausschließen".

23
Björn

Wenn Sie Ihre Sitzungen in Cookies speichern, können Sie das Cookie von einer Authentifizierungsanforderung in Developer Tools abrufen.

 enter image description here

Kopieren Sie das Cookie in die Kopfzeile Ihrer POSTMAN- oder Paw-Anforderungen. 

 enter image description here

Mit diesem Ansatz können Sie Ihre API-Tests auf Ihre aktuelle Sitzung beschränken. 

6
Brian Fegter

1.Sie können mit Hilfe der folgenden Funktion eine neue Route erstellen, um das csrf-Token mithilfe Ihres Controllers anzuzeigen. (Verwenden Sie eine Get-Anforderung für die Route).

   public function showToken {
      echo csrf_token(); 

    }

2.Wählen Sie auf dem Postboten die Registerkarte Körper und dann x-www-form-urlencoded.
3. Kopieren Sie das Token und fügen Sie es als Wert des Schlüssels _token in postman ein.
4.Execute Ihre Post-Anfrage für Ihre URL/Endpoint

0
james.s