【问题标题】:NuxtJs Auth with local strategyNuxtJs Auth 与本地策略
【发布时间】:2021-02-02 05:44:33
【问题描述】:

我正在使用 nuxtjs 创建一个应用程序,并且正在使用 nuxt/auth 模块。一切正常,我正在使用带有 JWT 令牌的本地策略登录。我遇到的问题是,如果我关闭浏览器并重新打开浏览器,并且令牌尚未过期,我就会自动登录。我怎样才能禁用它?我希望这样当用户关闭浏览器时令牌不再有效?

是因为本地存储吗?我猜 Nuxt/Auth 将令牌存储在本地存储中?我还看到它使用令牌创建了一个 cookie,但 cookie 的过期设置为“Session”。

任何有关如何进行这项工作的说明/帮助将不胜感激。

问候。

国际消费电子展

【问题讨论】:

    标签: javascript node.js authentication jwt nuxt.js


    【解决方案1】:

    Localstorage 没有过期日期,您需要手动删除它。

    Cookie 有一个类似于 JSON 网络令牌。

    我要做的是:

    如果我的令牌持续 1 天,我将 cookie 生命周期也设置为 1 天。 1 天后,浏览器会自动删除 cookie。如果您在 2 天后登录,cookie 将被删除,您将不会自动登录

    当然,如果您注销,您需要手动删除它

    此外,我还喜欢在 cookie 上设置 HttpOnly 标志,以便我的服务器只能读取它。

    【讨论】:

      【解决方案2】:

      您可以在主nuxt component 中使用destroyed hook 来调用logging-out 方法。 当您离开主要组件时,例如关闭选项卡和关闭浏览器,它将注销,但不推荐。 当您保存在LocalStorage 时,更好的解决方案是设置lifeTime

      【讨论】:

      • 谢谢,但不确定如何使用 nuxt/auth 模块设置 lifeTime。没有在文档中看到该选项。
      • 您必须将时间设置为秒格式,例如 3600 + 新日期作为秒数。然后每次重新加载时,检查当前时间和保存的时间,如果更大,则调用注销。
      猜你喜欢
      • 2020-10-26
      • 2021-06-05
      • 2016-05-29
      • 2014-12-19
      • 1970-01-01
      • 1970-01-01
      • 2015-04-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多