繁体   English   中英

无法在Symfony中使用JWT令牌测试API端点

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM