如何刷新 nuxt.js 中的 JWT 令牌?

问题描述

我想在我的 nuxtjs 应用程序中使用 JWT 身份验证,但它没有刷新令牌。出于测试目的,我将访问令牌的过期时间设置为 5 秒并刷新令牌为 30 分钟。

访问令牌在 5 秒后过期,但令牌在其注销 5 秒后未刷新

我使用的是 Django rest 框架,在 nuxt 中我使用的是 nuxt auth v5

settings.py

REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework_simplejwt.authentication.JWTAuthentication',),}
SIMPLE_JWT = {
    'AUTH_HEADER_TYPES': ('JWT','ACCESS_TOKEN_LIFETIME': timedelta(seconds=5),'REFRESH_TOKEN_LIFETIME': timedelta(minutes=30),}

nuxt.config.js

auth: {
    localStorage: false,strategies: {
      local: {
        scheme: 'refresh',token: {
          property: 'access',type: 'JWT',required: true
        },refreshToken: {
          property: 'refresh',},user: {
          property: false,autoFetch: true
        },endpoints: {
          login: { url: '/jwt/create/',method: 'post',refresh: { url: '/jwt/refresh/',user: {url: '/users/me/',method: 'get' },logout: false
         
        },}
    }
  }
}

我对 JWT 和 nuxt 不太熟悉。如果我错了,请纠正我。

我的主要目标只是在访问令牌过期时自动刷新令牌。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)