来自 Postman 的授权标头在 Laravel 中不可见

cam*_*cam 2 laravel postman

我正在尝试使用 Postman 使用中间件测试我的 Laravel php 应用程序。该应用程序正在使用 Tymon JWT Auth,根据文档我应该设置 Authorization 标头:

Authorization: Bearer {yourtokenhere}
Run Code Online (Sandbox Code Playgroud)

因此,我已将 Authorization 标头添加到 Postman,如下所示:

在此处输入图片说明

但是我从我的应用程序得到的回应是没有提供令牌。

这很奇怪,因为:

  • 如果我将相同的令牌附加到 Postman 中的 url,该令牌对应用程序可见(状态 200 OK 并且没有错误说 token_not_provided)。
  • 如果我在 PHPUnit 而不是 Postman 中测试应用程序并在标题或 url 中提供令牌,也可以。
  • 在 Fiddler 中调试原始 Postman 请求显示它实际上具有 Authorization 标头,如下所示:

在此处输入图片说明

我还尝试从 Postman 中删除其他两个标题,但没有任何改善。所以看起来一切都设置得很好,但它不起作用,为什么?

Tha*_*ung 5

你的服务器在 Apache 上吗?如果是,以下清单会有所帮助

  • 您应该.htaccess在公用文件夹中正确配置。参考 这个

  • 你应该编辑apache2.conf文件

    sudo vi +164 /etc/apache2/apache2.conf 并更改为

    <Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
    
    Run Code Online (Sandbox Code Playgroud)

    • 然后 sudo a2enmod rewrite
    • 重启apache sudo service apache2 restart

这会奏效!