繁体   English   中英

将会话存储项传递到链接 JavaScript 或 HTML

[英]Passing sessionstorage item into a link JavaScript or HTML

我正在尝试创建一个单一的登录,据我所知,这可能是最好的。

我的后端接收请求,检查电子邮件,创建 JWToken 并将其添加到每封电子邮件发送给用户的链接中。

沿着这条线的东西

function loadWindow() {
  var setsession = window.sessionStorage.setItem("JWT", 'tokentoken');
  window.open('http://localhost:8080/html/reset-password.html')
}

必须有某种方式,但无论我如何做到这一点,页面都不会加载会话存储集。

这似乎实际上已经解决了它! 它需要一个 const 定义..

只是把它贴到最后是行不通的,但这似乎是:

function loadWindow() {
  const myWindow = window.open('http://localhost:8080/html/reset-password.html');
  myWindow.localStorage.setItem('JWT', 'cat');
}

在此处输入图像描述

当然理想情况下直接是 sessionStorage,但这似乎不是一个选项。 我可能必须编写一个脚本,将其从本地删除并将其重写到会话存储。 不确定这是否是安全方面的最佳实践..

编辑:想一想,这只是因为我在标签之间运行它,可能只是从电子邮件中打开链接时这不起作用。

EDIT2:我也以不同的方式实现了这一点,通过将令牌传递给 url.com/?token=randomtokennumbersletters

然后创建一个在加载页面时运行的 js 函数 loadFunction

function loadFunction() {
  if (sessionStorage.getItem('JWT') === null) {
    let params = (new URL(document.location)).searchParams;
    let token = params.get("token");
    sessionStorage.setItem('JWT', token) // slaat de token van de link op in localstorage
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM