我在用Phpunit和Symfony测试我的端点时遇到了一些麻烦。问题是,当我使用nelmio api doc进行测试时,我能够正确地进行身份验证,与postman,甚至从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 key,但也不起作用。
我使用内置的Symfony服务器,我不确定这是否重要,因为我在使用头文件和在Apache下工作时看到了一些其他问题。
顺便说一句,当我用jwt.io在线解码器再次检查时,令牌的格式是正确的。
我有点绝望了,任何帮助都是最好的。
发布于 2017-06-30 00:47:08
试着改变这一点:
$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',
);
https://stackoverflow.com/questions/44830776
复制相似问题