[英]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.