智威汤逊:如何在头部发送授权?

智威汤逊:如何在头部发送授权?

问题描述:

我正在使用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文档中提到了我在上面花费的表单的使用。但不起作用。

如果您使用的是Apache,然后将头很可能不来通过,由于this known issue内的Symfony

您需要将以下内容添加到您的虚拟主机,如果是这样的话:

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

就是这样......问题解决了!非常感谢! – Valdinei 2015-02-24 11:04:49

请确保您在后端(服务器端)的代码为 这是针对PHP的。

header('Access-Control-Allow-Headers: Origin, Content-Type, Accept, Authorization'); 

请注意,在上面的行中,我们允许“授权”标题。一旦你在服务器端代码中有上面的代码,那么你可以在下面的函数中(如果你使用php编码)获得数组中的所有头文件。

getallheaders(); 
+0

确实没有服务器端的头文件。根据他的陈述补充说,但它甚至不起作用。但是现在我认为这是应用程序的一些东西。 – Valdinei 2015-02-24 06:22:11