web-dev-qa-db-fra.com

Comment utiliser Postman pour une requête Laravel $ _POST

Comment puis-je essayer d'envoyer une demande de publication à une application Laravel avec Postman? 

Laravel a normalement un csrf_token que nous devons transmettre avec une requête POST/PUT. Comment puis-je obtenir et envoyer cette valeur dans Postman? Est-ce même possible sans désactiver la protection CSRF?

12
Hilmanrdn

Modifier:

Ah, attends, j'ai mal compris la question. Vous voulez le faire sans désactiver la protection CSRF? Comme Bharat Geleda l'a dit: Vous pouvez créer un itinéraire qui ne renvoie que le jeton et le copier manuellement dans un champ _token dans Postman.

Mais je recommanderais d'exclure vos appels d'API de la protection CSRF comme indiqué ci-dessous et d'ajouter ultérieurement une sorte d'authentification d'API.

Quelle version de laravel utilisez-vous?

Laravel 5.2 et plus:

Depuis la version 5.2, le jeton CSRF n'est requis que sur les routes avec le middleware web. Mettez donc vos routes api en dehors du groupe avec le middleware web.

Voir la rubrique "Le fichier d’itinéraires par défaut" dans la documentation pour plus d’informations.

Laravel 5.1 et 5.2:

Vous pouvez exclure des routes qui ne devraient pas avoir de protection CSRF dans le middleware VerifyCsrfToken comme ceci:

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

Voir la rubrique "Exclusion d'URI de la protection CSRF" documentation pour plus d'informations.

23
Björn

Si vous stockez vos sessions dans des cookies, vous pouvez extraire le cookie d'une demande d'authentification dans les outils de développement.

 enter image description here

Copiez et collez ce cookie dans l'en-tête de vos demandes POSTMAN ou Paw. 

 enter image description here

Cette approche vous permet de limiter les tests de votre API à votre session actuelle. 

6
Brian Fegter

1.Vous pouvez créer un nouvel itinéraire pour afficher le jeton csrf à l'aide de votre contrôleur à l'aide de la fonction ci-dessous ..__ (Utilisez une requête Get sur l'itinéraire).

   public function showToken {
      echo csrf_token(); 

    }

2.Sélectionnez l'onglet Corps sur postman, puis choisissez x-www-form-urlencoded.
3.Copiez le jeton et collez-le dans postman en tant que valeur de la clé nommée _token.
4.Exécutez votre demande de publication sur votre URL/Endpoint

0
james.s