如何在标头中设置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.
答案 0 :(得分:0)
您可以使用sessionStorage
在setItem
中设置项目:
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,令牌标记将在浏览会话结束后终止。