如何使用nuxt / auth模块在nuxt通用模式下拦截jwt令牌的到期以重置用户vuex数据?

时间:2020-08-10 10:21:04

标签: nuxt.js

我使用vuex-persistedstate库将vuex数据保存到localStorage中。问题是在jwt到期后,相应的身份验证数据没有得到reset(),因此似乎用户仍在进行身份验证,但是Authorization标头在传出请求中不再存在,因此我从后端收到403错误。我无法捕获所有403响应以强制注销,因为在其他情况下,可能会返回此类代码。

我在nuxt.config.js中的身份验证配置(省略了与问题无关的其他配置):

...
plugins: [
  { src: '~/plugins/vuex-persist', mode: 'client' }
],
modules: [
  '@nuxtjs/auth',
],
auth: {
  strategies: {
    local: {
      endpoints: {
        login: { url: '/auth/login', method: 'post', propertyName: 'user.token' },
        logout: false,
        user: { url: '/buyer/profile', method: 'get', propertyName: 'user' }
      }
    }
  }
}
...

我的猜测是vuex-persistedstate引起了问题,因为它在本地存储中存储了具有不同密钥的身份验证数据,因此身份验证模块无法清除数据,因此是否可以在令牌过期后应用任何回调? / p>

0 个答案:

没有答案