【问题标题】:persist token even after the browser tab is closed即使在浏览器选项卡关闭后仍保留令牌
【发布时间】:2020-10-26 03:35:04
【问题描述】:

登录令牌正在使用 react 中的本地存储进行存档。即使我删除浏览器的选项卡并在删除浏览器本身时通过删除令牌来删除登录信息,我也希望保持令牌完好无损。无法使用会话存储,因为删除选项卡时信息会消失 有人知道该怎么做吗?

【问题讨论】:

    标签: javascript reactjs


    【解决方案1】:

    请改用 localStorage。 API 是一样的。并且即使在标签页关闭后它仍然存在。

    您可以在此处阅读文档 => https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage

    【讨论】:

    • 是的,解决方案是改用localStorage。关闭浏览器选项卡后,您无法使用 sessionStorage 保存数据。使用localStorage,您可以。
    • 浏览器关闭时如何删除本地存储数据?
    • 我的错。我误读了这个问题。当浏览器关闭时,您不会删除令牌。通常,每当您在 Web 浏览器中存储令牌时,都应该使用到期日期进行存储。每当用户关闭选项卡时,令牌仍保留在浏览器中,但下次用户进入您的站点时,您可以检查令牌是否过期并相应地添加。要么删除令牌本身,要么通过将令牌发送到服务器来重新验证令牌。通常,在我们构建的应用程序中,我们有一个带有到期日期的令牌,当令牌到期时,我们会注销用户。
    • 我目前正在使用会话存储以及接收和保存 cookie。事实上,当 cookie 被验证并在 15 分钟后过期时,它会被发送到登录屏幕,并且刷新令牌会保存回会话存储中。会话存储在删除浏览器时会删除数据,但本地存储不会被删除,除非直接删除。如果您在登录时使用 LocalStorage 关闭浏览器,则本地存储数据仍然存在。这有什么安全问题吗?我的老板想使用会话存储,因为本地存储中的数据保留在浏览器中。
    • 其实不多。只要确保过期的令牌在服务器中不起作用。如果有人可以通过从 localStorage 获取令牌来破解您的应用程序,那么他们也可以从 cookie 中破解它。在安全性方面没有太大区别。
    猜你喜欢
    • 2011-02-23
    • 1970-01-01
    • 2018-08-01
    • 2010-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-08
    • 2023-03-12
    相关资源
    最近更新 更多