如何将json Web令牌的标头发送到服务器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将json Web令牌的标头发送到服务器相关的知识,希望对你有一定的参考价值。
我正在学习使用json-web-tokens。
我得到了关键点,我们通过在请求标头中获取它来在服务器端对其进行身份验证。
下面提到的行解析请求并验证标头。
但是我们如何首先在请求标头中发送它。
在MDN上,this链接建议使用像httpChannel
这样的东西......但这听起来非常罕见。这样做的常见方法是什么?
关于我不理解的更多信息
摘录另一个(this)教程:
JWT php类使这很容易做到。例如,要在客户端成功登录后创建令牌,可以使用以下代码:
$token = array();
$token['id'] = $id;
echo JWT::encode($token, 'secret_server_key');
(现在它根本没有提到以下缺失的步骤)
[然后在客户端,我们以这种方式获得令牌..
[................................... //我需要这个在本教程中没有提到的
[然后我们以这种方式将此令牌发送到服务器[.................................. //这也没有提到..
(教程直接继续以下行..上面的行丢失了。)
然后在以后的API调用中,可以通过以下代码检索和验证令牌:
$token = JWT::decode($_POST['token'], 'secret_server_key');
echo $token->id;
如果令牌已被篡改,则$ token将为空,将不会有可用的ID。 JWT类确保永远不会提供无效数据。如果令牌被篡改,它将无法使用。非常简单的东西! **我确实理解这个非常简单的东西,但是,不明白缺少的步骤。 **
我的解决方案是在javascript中,但在这里。也许会有所帮助?
1.但是我们如何首先在请求标头中发送它
fetch(`/secret/${uid}`, {
method: "get",
headers: {
authorization: `Bearer ${getToken()}`
}
});
然后在客户端,我们以这种方式获得令牌“
如果令牌保存在本地存储中,我们就可以得到它。
function getToken() {
return localStorage.getItem("jwt-token");
}
以上是关于如何将json Web令牌的标头发送到服务器的主要内容,如果未能解决你的问题,请参考以下文章
如何将带有数据的http标头发送到rest Api codeigniter?