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

时间:2014-12-12 13:10:33

标签: javascript ajax access-token

我正在为学校的应用程序登录系统。我可以注册一个保存到我的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);

我怎么能存储令牌?在本地存储?怎么样?

提前致谢。

2 个答案:

答案 0 :(得分:20)

要在本地存储中保存字符串,请使用

window.localStorage.setItem(key, value);

您可以稍后通过以下方式获取值:

window.localStorage.getItem(key);

答案 1 :(得分:3)

不要在本地存储中保存令牌。这不是一个好的风格,因为你向攻击者敞开心扉。我在搜索中找到了这个链接:https://medium.com/@benjamin.botto/secure-access-token-storage-with-single-page-applications-part-1-9536b0021321

这是页面内容的一部分:

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

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

“您对 CSRF 是安全的,但您已经向更大的攻击媒介敞开了大门……XSS。” Okta:JWT 很烂

“不要将 [JWT] 存储在本地存储(或会话存储)中。” LogRocket:JWT 身份验证最佳实践

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