我见过的大多数JWT教程都说你可以用AJAX将它附加到标题中。如何在初始页面加载时附加令牌?
例如,如果用户转到基本网址“/”且他们没有令牌,则向他们显示该页面。如果他们有令牌,请将其重定向到他们的个人资料页面。
修改
我正在使用jquery ajax成功函数返回生成的令牌,然后重定向用户。当用户访问主页('/')时,我希望通过http标头将访问令牌发送到我的服务器。然后服务器可以处理请求。但是,只要用户返回(如果他们关闭浏览器并转到“mywebsite.com”或任何其他页面),我希望服务器能够访问令牌。 http标头是最好的方法吗?
success: function(token){
localStorage.setItem("token", token);
window.location.href('/');
}
如果我的应用程序是单页应用程序(SPA),我可以一直使用ajax,但事实并非如此。
答案 0 :(得分:0)
使用HTTP标头无法实现您的目标。 HTTP标头是在向服务器发出请求时发送的内容。在您的情况下,您想要记住关于客户的一些事情,即使他们关闭他们的网站并稍后再回来。最容易做到的就是通过cookie。
基本上为客户端生成JWT令牌并将其作为cookie发送到客户端。此逻辑将在服务器端编写,并且有许多库可用于执行此操作,具体取决于您为服务器端选择的技术。然后,每次客户端向您的服务器发出请求时,浏览器都会确保发送存储的cookie。