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

Nuxt2使用@nuxtjs/auth时staging环境刷新页面用户自动登出问题

问题排查步骤
  • 验证staging环境下user接口的访问合法性
    刷新页面后@nuxtjs/auth会自动携带存储的token请求配置的api/user/fetch-logged-in接口,只要该接口返回非200状态码,auth模块就会判定登录失效,自动触发登出逻辑。你可以打开浏览器控制台网络面板,刷新页面查看该请求的状态:

    • 如果返回401/403,检查token传递格式是否符合staging后端要求:你的配置里tokenType设为空字符串,正常请求头应为Authorization: <token>,确认staging后端是否要求加Bearer 前缀?本地后端可能做了兼容未校验前缀,staging环境严格校验就会请求失败。
    • 如果接口返回404,检查nuxt的axios baseURL配置:staging环境的api前缀是否和本地不一致?比如本地是/api开头,staging需要加项目前缀或域名,你配置的user接口是相对路径,baseURL错误就会请求到错误地址。
  • 检查Cookie/Storage的域和路径配置
    如果你将token存在Cookie中(@nuxtjs/auth默认同时存localStorage和Cookie),确认staging环境下Cookie的domain、path、secure属性配置正确:

    • 如果staging站点用HTTPS,要确认auth模块的cookie配置里secure设为true,如果未开HTTPS则不能设置secure,否则Cookie不会被携带在请求中
    • 确认Cookie的domain配置和staging站点的域名匹配,跨域场景下Cookie不会被自动携带
  • 检查服务端渲染(SSR)逻辑的权限判断
    如果你的Nuxt应用开启了SSR模式,刷新页面时会先在服务端执行auth校验逻辑:

    • 确认服务端可以正确获取到Cookie里的token,多数情况下客户端localStorage里有token,但服务端无法读取localStorage内容,只能靠Cookie传递token,如果Cookie配置错误服务端拿不到token,就会直接返回登录页重定向,看起来就像被自动登出
    • 可以临时将应用改成SPA模式部署测试,如果SPA模式下刷新不会登出,就可以确定是SSR侧的token获取逻辑有问题
  • 快速验证修复方案
    可以先加临时配置,关闭user接口的自动请求,测试是否是user接口的问题:

auth: {
  strategies: {
    local: {
      endpoints: {
        user: false // 临时关闭自动拉取用户信息
      }
    }
  }
}

如果改完刷新不会登出,就可以100%确定是user接口请求失败导致的问题,针对性排查接口即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 08:54:01