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.
解决方案
您可能想改用 cookie。
document.cookie = "token=" + key + "; expires=0;";
Cookie 会随每个请求从用户那里发送,因此编码要简单得多,并且通过将“expires”属性设置为 0,令牌将在浏览器会话结束后过期。
推荐阅读
- python - 如何使用画布函数在 tkinter 中分隔矩形?
- javascript - 用相同的 CancelToken 取消多个 axios 请求
- sql - 我想将 UPDATE INNER JOIN 查询从 MS Access 转换为 SQL Server
- keras - Keras custom loss as a function of multiple outputs
- node.js - Chakram test not working
- cuda - 不推荐使用 nvcc 动态异常规范
- android - Firebase 慢速图像读取
- android - RTL反应原生抽屉问题android
- android - Android Studio:尝试第二次启动应用程序时失败
- vim - gVim 转义键在 Windows 10 上不起作用