2017-06-29 4 views
0

Je rencontre des problèmes lors du test de mon point de terminaison avec Phpunit et Symfony. La chose est que je suis en mesure de s'authentifier correctement lors de l'utilisation nelmio api doc pour faire des tests, avec un facteur, ou même du côté du client qui est dans android. Mais quand j'essaie de tester le point de terminaison avec phpunit, je reçois le message 401 Unauthorized.Impossible de tester le point de terminaison API avec le jeton JWT dans Symfony

Voici la demande que je fais du test fonctionnel dans phpunit:

$this->client->request('POST', '/api/v1/recipes',$data,array(),array(),$header); 

Et voici le contenu de l'en-tête:

$header = array(
     'Authorization'=> 'Bearer '.$token, 
     'CONTENT_TYPE' => 'application/json', 
    ); 

J'ai aussi essayé avec la touche HTTP_AUTHORIZATION, mais est ne fonctionne pas non plus.

J'utilise le serveur Symfony intégré, je ne sais pas si c'est important, car j'ai vu d'autres problèmes lors de l'utilisation des en-têtes et du travail sous Apache. Par ailleurs, le jeton est correctement formé lorsque j'ai vérifié avec le décodeur en ligne jwt.io.

Je suis un peu désespérée, toute aide serait géniale.

Répondre

0

essayer de changer cela:

$header = array(
    'Authorization'=> 'Bearer '.$token, 
    'CONTENT_TYPE' => 'application/json', 
); 

à ceci:

$header = array(
    'HTTP_Authorization' => sprintf('%s %s', 'Bearer', $token), 
    'HTTP_CONTENT_TYPE' => 'application/json', 
    'HTTP_ACCEPT'  => 'application/json', 
); 
+0

ne fonctionne toujours pas .. – Jotaeme

+0

Quelle erreur avez-vous récupérer? –

+0

Lorsque je fais la demande à partir du client Android, facteur, etc ... Je n'en reçois aucun. Mais quand j'ai essayé de faire un test fonctionnel avec phpunit, je reçois 401 Erreur non autorisée – Jotaeme