微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决如何刷新 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 举报,一经查实,本站将立刻删除。