我正在使用JWT(https://github.com/tymondesigns/jwt-auth)在我的API中生成会话令牌。
我将所有相关设置作为作者的文档。
连接会话后,我使用URL返回我的类别的数据。当我直接在URL中传递令牌时,它可以正常工作。如下:
http://api.domain.com/categories?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9kZXYuaW1pYXZpcFwvYXBpXC9hdXRoXC9hdXRoZW50aWNhdGUiLCJzdWIiOiIxIiwiaWF0IjoxNDIxODQyMzU4LCJleHAiOjE0MjE5Mjg3NTh9.-nqKoARKc2t1bI2j5KFEP_zRU8KCki_dghKe6dtAedY
只有我需要使用身份验证承载在标头的请求中传递令牌。但是不起作用。看看我的经历:
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9kZXYuaW1pYXZpcFwvYXBpXC9hdXRoXC9hdXRoZW50aWNhdGUiLCJzdWIiOiIxIiwiaWF0IjoxNDIxODQyMzU4LCJleHAiOjE0MjE5Mjg3NTh9.-nqKoARKc2t1bI2j5KFEP_zRU8KCki_dghKe6dtAedY
可能出现什么问题?
在JWT文档中提到了我在上面使用的表单的使用。但是不起作用。
答案 0 :(得分:4)
如果您使用的是Apache,那么由于Symfony中的this known issue
,标题可能无法通过如果是这种情况,您需要将以下内容添加到虚拟主机:
RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]
答案 1 :(得分:0)
请确保您的后端(服务器端)代码中有以下行 这适用于PHP。
header('Access-Control-Allow-Headers: Origin, Content-Type, Accept, Authorization');
请注意,对于上面的行,我们允许“授权”标题。
一旦在服务器端代码中有上面的行,那么你可以在函数下面(如果你在php中编码)来获取数组中的所有头文件。
getallheaders();