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



我在用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',
);

最新更新