首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法在Symfony中使用JWT标记测试API终结点

无法在Symfony中使用JWT标记测试API终结点
EN

Stack Overflow用户
提问于 2017-06-30 00:42:17
回答 1查看 1.6K关注 0票数 2

我在用Phpunit和Symfony测试我的端点时遇到了一些麻烦。问题是,当我使用nelmio api doc进行测试时,我能够正确地进行身份验证,与postman,甚至从android的客户端。

但是当我尝试用phpunit测试端点时,我得到了401未授权的消息。

以下是我在phpunit中的功能测试中发出的请求:

代码语言:javascript
运行
复制
$this->client->request('POST', '/api/v1/recipes',$data,array(),array(),$header);

下面是头部的内容:

代码语言:javascript
运行
复制
$header = array(
        'Authorization'=> 'Bearer '.$token,
        'CONTENT_TYPE' => 'application/json',
    );

我也尝试过HTTP_AUTHORIZATION key,但也不起作用。

我使用内置的Symfony服务器,我不确定这是否重要,因为我在使用头文件和在Apache下工作时看到了一些其他问题。

顺便说一句,当我用jwt.io在线解码器再次检查时,令牌的格式是正确的。

我有点绝望了,任何帮助都是最好的。

EN

回答 1

Stack Overflow用户

发布于 2017-06-30 00:47:08

试着改变这一点:

代码语言:javascript
运行
复制
$header = array(
    'Authorization'=> 'Bearer '.$token,
    'CONTENT_TYPE' => 'application/json',
);

要这样做:

代码语言:javascript
运行
复制
$header = array(
   'HTTP_Authorization' => sprintf('%s %s', 'Bearer', $token),
   'HTTP_CONTENT_TYPE' => 'application/json',
   'HTTP_ACCEPT'       => 'application/json',
);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44830776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档