我有两个应用程序使用auth模块和nuxt.js运行在我的电脑上。我用auth本地策略在这两个应用程序。
我有一个问题,当我登录(验证)在我的第一个应用程序,第二个应用程序不要求验证(两个应用程序在同一台电脑).
我必须删除带有身份验证数据的localstorage,以便我的第二个应用程序要求登录进行身份验证。
我在nuxt.config.js中的nuxt身份验证设置是:
auth: {
localStorage: {
prefix: 'auth.',
},
strategies: {
local: {
scheme: 'refresh',
token: {
property: 'data.access_token',
maxAge: 1800,
type: 'Bearer',
required: true,
},
refreshToken: {
property: 'data.refresh_token',
maxAge: 60 * 60 * 24 * 30,
},
user: {
property: 'data',
autoFetch: true,
},
endpoints: {
login: {
url: 'user/login',
method: 'post',
},
refresh: { url: 'user/refreshToken', method: 'post' },
user: { url: 'user/me', method: 'get' },
logout: false,
},
},
},
redirect: {
login: '/login',
logout: '/login',
// callback: '/dash',
// home: '/clientes',
home: '/',
},
},
是否在配置中有一些特殊设置来避免它我尝试使用不同的localstore前缀,但没有外观
1条答案
按热度按时间qlfbtfca1#
NuxtJs默认启用localStorage作为会话持久性引擎。
您需要在localStorage配置中为每个项目提供不同的前缀(当然,如果您打算继续使用localStorage的话),这样可以确保两个应用不会在同一个键中查找会话令牌。
这就是您要查找的内容https://auth.nuxtjs.org/api/options/#localstorage
也有一个cookie选项,但逻辑保持不变。