首页 > 解决方案 > 网页认证

问题描述

我正在制作一个仅在香草 javascript 上构建网页的辅助项目。我假装有一个登录页面,所有其他页面都需要身份验证。我已经有一个登录页面,它在成功登录后获取身份验证令牌。但是,我在理解/确定下一步要做什么方面遇到了问题。我的问题如下:

  1. 如何跨多个页面保留令牌?暂时保存在哪里?我看到有些人认为保存代币不好,因为它们很容易被盗。

  2. 使用令牌登录后如何将浏览器重定向到主页?据我所知,有两种方法可以获取页面:让浏览器来做(例如通过更改位置)或使用 ajax。第一种方法不允许附加令牌,第二种方法获取 html,但我无法找到一种方法来将页面“更新”到该 html。我一直在做的是 document.write(new_html) 但开发窗口中的 DOM 在那之后消失了,并且 windows.onload 处理程序设置为没有触发 html。那么,使用令牌实现具有身份验证的网站的正确方法是什么。

标签: javascriptauthenticationjwtaccess-token

解决方案


有两种方法可以在浏览器中保存数据:

  1. 本地存储
  2. 饼干

就个人而言,到目前为止我遇到的最好的方法是通过服务器设置 cookie,如果你设置了适当的标志,它可以防止用户弄乱它。

就前端而言:

  1. localStorage.setItem('token', 'my-token'); localStorage.getItem('token');
  2. document.cookie = "username=John Smith; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/";; document.cookie /* 获取 cookie */

推荐阅读