首页 > 解决方案 > 如何在每个请求的标头中设置令牌?

问题描述

如何在标头中设置 JWT 令牌?

我通过 AJAX 调用发送用户名和密码,并接收带有 JWT 令牌的响应 200。我正在会话存储中设置该令牌。如何在标头中设置它以检查令牌是否存在,直到会话结束?

我的方法正确吗?在正文中发送凭据>接收响应(成功)>登录成功>将令牌存储在会话存储中并将令牌设置在标头中>会话过期时注销

function validate() {
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
var data = {
    username: username,
    password: password
}
console.log(data);
$.ajax({
    type:"post",
    cache:false,
    url:"xyz",
    data:data,    /
    success: function (result) {
    console.log(result); //will have the status and jwt if it's success               
     }
    });
  };

存储 jwt

let key="token";
sessionStorage.setItem(key, jwt);// will get the jwt from the result.

标签: javascript

解决方案


您可能想改用 cookie。

document.cookie = "token=" + key + "; expires=0;";

Cookie 会随每个请求从用户那里发送,因此编码要简单得多,并且通过将“expires”属性设置为 0,令牌将在浏览器会话结束后过期。


推荐阅读