我遇到了 Nuxt Auth 登录状态的问题。我在通用模式下使用 Nuxt JS,并且正在使用 Nuxt Auth 进行身份验证。
当用户注销时,$auth.loggedIn 状态会在该会话中适当地解析。我在 $auth.logout() 期间没有重定向,但有条件语句可以解决所有注销状态的需求。当用户在该会话中注销时,一切都很好。
这个问题发生在我的 PWA 实例上,其中启动 URL 转到: http ://example.com/pwa 并且,在mounted() 之后,从这里重定向($router.push(redirectPage)) 到适当的位置。旁注,我尝试重定向服务器端,但无法解决补水问题,所以这似乎是一个不错的选择。
在 logout() 之后,当 PWA 打开 start_url 时,$auth.loggedIn 显示为 true,即使用户已注销。这与本地存储和 cookie 冲突,这些 cookie 对 auth 密钥都显示为 false。
当我在 Chrome 中调试它并进行硬刷新时,它会将 $auth.loggedIn 适当地解析为 false。没有硬刷新,它将显示为true。
这似乎是某种缓存问题。此外,我正在使用 Nuxt PWA 模块。我不确定这是否是缓存 vuex 存储的服务人员问题。
任何想法表示赞赏。
这是身份验证配置:
auth: {
redirect: false,
strategies: {
local: false,
password_grant: {
scheme: 'local',
token: {
property: 'access_token'
},
endpoints: {
login: {
url: '/oauth/token',
method: 'post',
propertyName: 'access_token'
},
logout: false,
user: {
url: 'api/auth/me',
method: 'get',
propertyName: 'user'
},
}
},
}
PWA 工作箱配置使用所有默认缓存值。