[英]Can't test API endpoint with JWT token in Symfony
使用Phpunit和Symfony测试端点时遇到一些麻烦。 问题是,使用nelmio api doc与邮递员甚至从android的客户端进行测试时,我能够正确进行身份验证。
但是,当我尝试使用phpunit测试端点时,我收到401未经授权的消息。
这是我从phpunit中的功能测试中提出的要求:
$this->client->request('POST', '/api/v1/recipes',$data,array(),array(),$header);
这是标题的内容:
$header = array(
'Authorization'=> 'Bearer '.$token,
'CONTENT_TYPE' => 'application/json',
);
我也尝试过使用HTTP_AUTHORIZATION密钥,但也不起作用。
我使用内置的Symfony服务器,我不确定这是否重要,因为在使用标头和在Apache下工作时,我还遇到了其他一些问题。
顺便说一句,当我用jwt.io在线解码器仔细检查时,令牌是正确形成的。
我有点绝望,任何帮助都会很棒。
尝试更改此:
$header = array(
'Authorization'=> 'Bearer '.$token,
'CONTENT_TYPE' => 'application/json',
);
对此:
$header = array(
'HTTP_Authorization' => sprintf('%s %s', 'Bearer', $token),
'HTTP_CONTENT_TYPE' => 'application/json',
'HTTP_ACCEPT' => 'application/json',
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.