Javascript 带有本地策略的NuxtJs Auth

Javascript 带有本地策略的NuxtJs Auth,javascript,node.js,authentication,jwt,nuxt.js,Javascript,Node.js,Authentication,Jwt,Nuxt.js,我正在使用nuxtjs创建一个应用程序,并且正在使用nuxt/auth模块。一切正常,我正在使用JWT令牌的本地策略登录。我遇到的问题是,如果我关闭浏览器并重新打开浏览器,如果令牌未过期,我将自动登录。如何禁用此功能?我希望这样,当用户关闭浏览器时,令牌不再有效 是因为本地存储吗??我猜Nuxt/Auth将令牌存储在localstorage中?我还看到它使用令牌创建了一个cookie,但是cookie的过期时间设置为“Session” 对于如何完成这项工作的任何澄清/帮助,我们将不胜感激 问候

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

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

对于如何完成这项工作的任何澄清/帮助,我们将不胜感激

问候


CES

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

Cookie有一个类似于JSON的web标记

我所做的是:

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

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


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

您可以使用main
numxt组件中的
destrocted hook
来调用
注销方法。
当您离开主组件(如关闭选项卡和浏览器)时,它将注销,但不建议退出。

更好的解决方案是在
LocalStorage

中保存时设置
生存期
,谢谢,但不确定如何使用nuxt/auth模块设置生存期。在文档中看不到该选项。您必须将时间设置为secounds格式,如3600+新日期为scounds。然后每次重新加载时,用保存的时间检查当前时间,如果它更大,则调用注销。