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

求助:AuthJS Credentials在Azure Nuxt SWA部署后无法正常工作

解决Nuxt AuthJS Credentials Provider在Azure SWA部署后的400错误

问题根源

Azure Static Web Apps(SWA)默认启用内置认证系统,会自动拦截所有认证相关请求,强制使用自身的azureStaticWebApps provider,这和你自定义的AuthJS Credentials Provider冲突,直接导致Login not supported for provider azureStaticWebApps错误。必须完全禁用SWA的内置认证,才能让AuthJS正常工作。

解决方案步骤

1. 配置staticwebapp.config.json禁用SWA内置认证

将以下配置文件放在Nuxt项目的public目录下(SWA会自动读取根目录的该配置),彻底关闭SWA所有内置认证:

{
  "routes": [
    {
      "route": "/*",
      "allowedRoles": ["anonymous"]
    }
  ],
  "auth": {
    "identityProviders": {
      "azureActiveDirectory": {},
      "facebook": {},
      "github": {},
      "google": {},
      "twitter": {}
    },
    "requireAuthentication": false
  }
}
  • routes规则设置所有路径允许匿名访问,避免SWA拦截请求
  • identityProviders下所有提供者设为空对象,彻底禁用SWA自带的认证选项
  • requireAuthentication设为false,关闭全局强制认证要求

2. 验证环境变量配置

  • AUTH_ORIGIN:必须是你的Azure SWA完整URL(例如https://your-app-name.azurestaticapps.net),不要以斜杠结尾
  • AUTH_SECRET:用openssl rand -hex 32生成安全随机字符串,确保在Azure SWA的「配置->环境变量」中正确设置,本地和部署环境密钥需一致
  • 检查你的server/api/auth/[...].ts文件,确保只启用了Credentials Provider,未额外引入azureStaticWebApps相关配置

3. 部署后验证

  • 部署完成后,访问https://your-app-name.azurestaticapps.net/staticwebapp.config.json,确认配置内容正确加载
  • 打开Azure SWA的「监控->日志流」,查看是否还有认证拦截相关日志,确保AuthJS的/api/auth/*路径能正常访问

4. 额外排查

如果问题仍存在,检查:

  • Nuxt构建时是否将public目录内容正确复制到输出目录
  • SWA的路由规则是否覆盖了AuthJS的回调路径
  • 浏览器控制台是否有跨域或请求拦截的错误提示

内容的提问来源于stack exchange,提问作者Iwan de Jong

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 11:27:47