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

Bob*_*oba 7 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);
Run Code Online (Sandbox Code Playgroud)

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

提前致谢.

And*_*ius 24

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

window.localStorage.setItem(key, value);
Run Code Online (Sandbox Code Playgroud)

您可以稍后获取该值:

window.localStorage.getItem(key);
Run Code Online (Sandbox Code Playgroud)

  • 如果你需要存储访问令牌,你可以使用`window.localStorage.setItem('access_token',token)`然后当你想要检索它时:`window.localStorage.getItem('access_token')`. (2认同)
  • 将令牌存储在本地存储中安全吗?无论如何,我们可以将令牌传递到定向页面吗? (2认同)

din*_*ino 6

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

\n

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

\n

\xe2\x80\x9c\xe2\x80\x99s 建议不要在本地存储中存储任何敏感信息。\xe2\x80\x9d -OWASP Cheat Sheet

\n

\xe2\x80\x9cDon\xe2\x80\x99t 将令牌存储在本地存储中。\xe2\x80\x9d -Auth0:存储令牌的位置

\n

\xe2\x80\x9c你可以免受 CSRF 的威胁,但你已经暴露了自己面临更大的攻击向量\xe2\x80\xa6 XSS。\xe2\x80\x9d Okta: JWTs Suck

\n

\xe2\x80\x9cDon\xe2\x80\x99t 将 [JWT] 存储在本地存储(或会话存储)中。\xe2\x80\x9d LogRocket:JWT 身份验证最佳实践

\n

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

\n