了解JWT和HTTP授权标头? (客户端:Angular,服务器:php)

时间:2016-02-01 10:31:51

标签: php angularjs http jwt

我的角色应用使用HTTP Post将登录凭据发送到我的php服务器。我收到了信用卡并创建了我的JWT令牌。我可以将JWT令牌发送回响应主体,将其保存在客户端,并使用它为所有后续客户端请求创建Authorization头。这一切都很好。

我想要做的是将新创建的JWT令牌发送回授权标头中的客户端,并让我的客户端从头部而不是正文中保存它。这样我可以根据需要刷新我的令牌,它可以在客户端无缝。

搜索时,似乎在将请求发送到服务器时设置了Authorization标头。在PHP中有卷曲功能,但我不确定这是否是正确的方向。

是否可以为Http Post响应创建一个Authorization标头?

1 个答案:

答案 0 :(得分:0)

Thilo的评论是正确的。更重要的是,在php中,您可以通过简单地使用"标题"来创建您想要的任何响应标题。功能:

<?php
... POST api, generate $token, etc...
header('MyCustomHeader: Bearer'.$token);
... 
echo $http_body_response
?>

我的问题是,在Chrome中,当我应该在“网络”标签下查看时,我在控制台响应中查找了我的标题。网络选项卡显示附加到http响应的所有标头。

注意:我使用angular2-beta,如果我添加另一个暴露它的响应标头,我只能在Angular2中访问我的自定义标头。执行此操作后,标题会显示在控制台中。因此:

<?php
header("Access-Control-Expose-Headers: MyCustomHeader");
... POST api, generate $token, etc...
header('MyCustomHeader: Bearer'.$token);
... 
echo $http_body_response
?>
相关问题