如何在每个请求的标头中设置令牌?

时间:2018-09-15 12:22:42

标签: javascript

如何在标头中设置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.

2 个答案:

答案 0 :(得分:0)

您可以使用sessionStoragesetItem中设置项目:

sessionStorage.setItem("key", "value");

如果要检查是否在sessionStorage中设置了密钥,可以检查它是否正确,例如:

if (sessionStorage.getItem("key")) {
    //Your code here
}

这是检查密钥sessionStorage中是否存在密钥的方法,并且可以将其应用于script标记内的head标记内,以检查用户是否已登录内。

答案 1 :(得分:0)

您可能想改用cookie。

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

Cookie是用户每次请求都发送给用户的,因此它的编码更加简单,并且通过将“ expires”属性设置为0,令牌标记将在浏览会话结束后终止。