Javascript 如何将令牌保存到本地存储?

Javascript 如何将令牌保存到本地存储?,javascript,ajax,access-token,Javascript,Ajax,Access Token,我正在为学校的一个应用程序开发一个登录系统。我可以注册一个保存到我的azure documentDB的用户。然后,我可以和用户一起登录。但它(令牌)从未保存,因此我可以访问令牌 登录的脚本如下所示: var signin = function() { var tokenUrl = "http://localhost:15746/Token"; var loginData = $("#userSignup&

我正在为学校的一个应用程序开发一个登录系统。我可以注册一个保存到我的azure documentDB的用户。然后,我可以和用户一起登录。但它(令牌)从未保存,因此我可以访问令牌

登录的脚本如下所示:

      var signin = function() {

            var tokenUrl = "http://localhost:15746/Token";
            var loginData = $("#userSignup").serialize();
            loginData = loginData + "&grant_type=password";
            $.post(tokenUrl, loginData).then(navigateToEvent);
                                                      
            return false;
        }

        $("#signup").click(signin);

我如何储存代币?在本地存储中?如何保存?

在您使用的本地存储中保存字符串

window.localStorage.setItem(key, value);
您可以稍后使用以下方法获取值:

window.localStorage.getItem(key);

不要将令牌保存在本地存储中。这不是一种好的风格,因为你会向攻击者敞开心扉。我在搜索中找到此链接:

这是页面内内容的一部分:

“建议不要在本地存储中存储任何敏感信息。”-OWASP备忘单

“不要将令牌存储在本地存储中。”-Auth0:在何处存储令牌

“你是安全的,但你已经打开了自己的攻击向量…XOSS。”JWTs Suck: “不要将[JWT]存储在本地存储(或会话存储)中。”LogRocket:JWT身份验证最佳实践


“最好避免让JavaScript代码看到访问令牌。”OAuth 2.0用于基于浏览器的应用程序:当前最佳实践

我也尝试过类似的方法。我真的不知道(或不明白),把什么作为价值。。!我知道访问令牌应该在那里。如果需要存储访问令牌,可以使用
window.localStorage.setItem('access\u-token',token)
,然后在需要检索时:
window.localStorage.getItem('access\u-token')
。因此:$.post(tokenUrl,loginda)。然后(navigateToEvent);然后:window.localStorage.setItem('access_token',token);?当我将setItem代码放在post方法下并运行“show”时。。我在调试模式下进入控制台窗口,编写您提供的getItem代码。控制台仅返回“未定义”。。我需要解析和其他东西吗?它不应该像:window.localStorage.setItem('access\u token',tokenUrl.token')吗?所以它知道在哪里可以找到令牌?将令牌放在本地存储中是否安全?我们是否可以将令牌传递到定向页面?为什么在JS中使用这样的令牌很糟糕?黑客会怎么做,登录自己的帐户??像谷歌这样的服务倾向于将帐户锁定到特定的域,当受到HTTPS保护时,它们很难欺骗,对吗?