You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nuxt Auth Module v5 token过期无法自动刷新令牌配置问题咨询

问题排查&修复方案

一、配置错误项修正

  1. 登录接口返回字段映射错误
    你当前配置中endpoints.login.propertyName设为了token,但实际登录接口返回的访问令牌字段是access_token,模块无法正确读取到访问令牌,导致后续所有认证逻辑异常。
  2. 令牌有效期字段未适配
    @nuxtjs/auth v5的refresh scheme默认读取接口返回的expires_in字段作为令牌有效期,你的接口返回的是拼写错误的expired_in(多了字母d),模块无法获取正确的有效期,会导致刷新时机判断异常。如果不修改接口返回,需要在token配置中添加expiresInProperty: 'expired_in'适配。
  3. 可选优化:建议明确指定刷新接口的返回字段映射,避免默认规则不匹配。

二、接口返回结构问题修复

  1. 登录接口缺失refresh_token返回
    你当前提供的登录接口返回值中没有refresh_token字段,模块无法存储刷新令牌,自然无法触发后续的刷新逻辑,必须在登录接口返回中补充有效refresh_token。
  2. 刷新接口缺失access_token返回
    你当前提供的刷新接口返回值中只有新的refresh_token,没有返回新的access_token,刷新逻辑执行后无法获取新的访问令牌,会直接失效,必须在刷新接口返回中补充新的access_token。

三、修正后配置参考

auth: {
  redirect: {
    login: '/account/login/',
    logout: '/account/login/',
    callback: '/account/login/',
    home: '/account/beams/'
  },
  strategies: {
    local: {
      scheme: 'refresh',
      token: {
        property: 'access_token',
        maxAge: 120,
        global: true,
        // 适配你接口返回的过期字段名
        expiresInProperty: 'expired_in'
      },
      refreshToken: {
        property: 'refresh_token',
        data: 'refresh_token',
        maxAge: 1209600,
        // 刷新接口返回的刷新令牌有效期字段也适配
        expiresInProperty: 'expired_in'
      },
      user: {
        property: 'user',
        autoFetch: true
      },
      endpoints: {
        // 移除错误的propertyName配置,或者改为access_token
        login: { url: '/api/account/login', method: 'post' },
        refresh: { url: '/api/account/refresh', method: 'post' },
        logout: { url: '/api/account/logout', method: 'post' },
        user: { url: '/api/account', method: 'get' }
      },
      autoLogout: false
    }
  }
}

四、验证步骤

  1. 登录后检查浏览器本地存储/ Cookie中是否同时存在auth._token.local和auth._refresh_token.local两个有效存储值
  2. 触发接口请求确认401后,是否自动调用/api/account/refresh接口,且请求参数中带有正确的refresh_token
  3. 刷新接口返回后验证存储中的access_token是否更新为新值,后续请求是否携带新的access_token

内容的提问来源于stack exchange,提问作者Ryan H

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 15:54:03