Laravel 未检测到 header 和 JWT 包中发送的身份验证令牌

Laravel not detecting auth token sent in the header and JWT package

我已经设置了一个 Ionic 应用程序,并且还开始为 API 使用 Laravel。在我发送令牌之前,在 postman 和 Ionic 中一切都很好。

使用名为 Satellizer 的包 angular,它将本地存储中的令牌添加到 header。

我的问题是,我收到一个未提供令牌的错误。

在邮递员中,如果调用:/api/v1/authenticate/user?token=tokenkey

然后它工作正常,如果我也将 url 与 angular 中 url 参数中设置的令牌硬编码为 http 请求,那么它也可以工作。

但是,当使用 postman 并将 header 中的授权参数设置为:

token : tokenkey

我再次遇到缺少令牌的错误。在 angular 中,当向 /api/v1/authenticate/user 发出请求时,我检查了 header 参数,可以看到授权已设置为“Bearer tokenkey”。

为什么 Laravel 没有找到它有什么帮助吗?我找到了有关 Apache 删除身份验证的信息 header 并添加了这个:

RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]

到我在 MAMP 上的 Apache 配置文件,重新启动但同样的问题。

还有什么建议吗?

尝试使用

RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

在你的 public/.htaccess.

Whosebug 上的相关问题:Laravel in Apache getting header value

Github 上的相关问题:https://github.com/dingo/api/issues/54 and https://github.com/sahat/satellizer/issues/300

尝试使用

Authorization : Bearer { String_token }