JWT 授权标头未到达 api
Posted
技术标签:
【中文标题】JWT 授权标头未到达 api【英文标题】:JWT Authorization header not reaching api 【发布时间】:2018-09-16 17:25:36 【问题描述】:我将我的 laravel 项目部署在支持 mod_rewrite 的共享托管服务器上,并希望发送一个名为 Authorization 的标头(JWT 标头),但它不会到达控制器。
mt .htaccess:
选项 -MultiViews -Indexes 重写引擎开启
# Handle Authorization Header
RewriteCond %HTTP:Authorization .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%HTTP:Authorization]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %REQUEST_FILENAME !-d
RewriteCond %REQUEST_URI (.+)/$
RewriteRule ^ %1 [L,R=301]
# Handle Front Controller...
RewriteCond %REQUEST_FILENAME !-d
RewriteCond %REQUEST_FILENAME !-f
RewriteRule ^ index.php [L]
【问题讨论】:
您使用的是哪个 JWT 软件包? "tymon/jwt-auth": "0.5.*" 猜猜你改htcaccess后重启了apache2服务吧? 即使我在共享主机上也可以重新启动它吗? 【参考方案1】:为了规避 Apache2 丢弃了我需要添加此代码的授权标头:
RewriteEngine On
RewriteCond %HTTP:Authorization ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]
到我的 /public 文件夹中的 .htcaccess 文件。
【讨论】:
它仍然告诉我没有令牌以上是关于JWT 授权标头未到达 api的主要内容,如果未能解决你的问题,请参考以下文章