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

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

问题描述:

我在使用Phpunit和Symfony测试端点时遇到了一些麻烦。事情是我能够使用nelmio api doc进行测试时,使用邮递员,甚至从android的客户端进行正确的身份验证。无法在Symfony中使用JWT令牌测试API端点

但是,当我',试图用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', 
); 
+0

仍然没有工作.. – Jotaeme

+0

哪些错误你找回? –

+0

当我从android客户端,邮递员等发出请求时,我没有收到任何请求。但是当我试图用phpunit进行功能测试时,我得到了401未授权的错误 – Jotaeme