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

Next-auth v5本地正常,部署Azure App Service后回调404问题

Next-auth v5 部署到Azure App Service后Microsoft Entra ID认证回调404问题

问题描述

Next.js应用集成next-auth v5后本地运行完全正常,但部署到Azure App Service后认证功能失效。选择Microsoft Entra ID(原Azure Active Directory)账号授权后,访问my-application.azurewebsites.net/api/auth/callback/microsoft-entra-id?code=long-code时出现HTTP ERROR 404。

环境对比

  • 本地环境:authorize请求、reprocess请求、/api/auth/callback/microsoft-entra-id请求全部成功,功能符合预期
  • Azure App Service环境:authorize请求、reprocess请求成功,但回调请求返回404 Not Found

相关环境信息

  • Node: 20.12.2;npm:10.5.0
  • 浏览器:Edge Chromium 123.0.2420.81、IE11
  • npm包:next@14.2.3、next-auth@5.0.0-beta.18、react@18.2.0

已尝试操作

  • 直接访问动态路由时,最初被重定向至https://0.0.0.0/api/auth/error?error=Configuration
  • 设置AUTH_URL环境变量为my-application.azurewebsites.net/api/auth后,直接访问路由显示服务器配置错误,日志提示InvalidCheck: PKCE code_verifier cookie was missing(测试参数导致),但正常认证流程仍返回404
  • 日志存在[auth][warn][env-url-basepath-redundant]警告,未手动设置authConfig.basePath

解决方案

1. 修正AUTH_URL环境变量配置

AUTH_URL无需包含/api/auth后缀,仅需填写应用根域名即可,示例:

AUTH_URL=https://my-application.azurewebsites.net

next-auth v5会自动拼接/api/auth路径,多余后缀会触发env-url-basepath-redundant警告,同时可能导致回调路径解析错误。

2. 检查Azure App Service路由配置

Azure App Service默认可能无法正确处理Next.js动态API路由,需根据部署类型调整:

  • Windows部署:修改web.config,添加规则确保/api/*路径被Next.js处理:
    <rule name="Next.js API Routes" stopProcessing="true">
      <match url="^api/(.*)" />
      <action type="Rewrite" url="/api/{R:1}" />
    </rule>
    
  • Linux部署:确认启动命令为npm run start(生产环境需运行构建后代码,而非npm run dev)。

3. 验证回调URL一致性

确保auth.config.ts(或对应配置文件)中Microsoft Entra ID的回调URL,与Azure Portal中注册应用的回调URL完全匹配,格式应为:
https://my-application.azurewebsites.net/api/auth/callback/microsoft-entra-id
注意协议、域名、路径需完全一致,无多余斜杠或后缀。

4. 清除浏览器缓存与Cookie

Azure部署后可能残留本地环境的旧Cookie(如code_verifier)导致冲突,清除浏览器缓存及相关Cookie后重新测试认证流程。

5. 确认Next.js构建产物

部署前需执行npm run build,并确保构建产物完整上传至Azure App Service。可通过Azure门户Deployment Center查看部署日志,确认构建过程无错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 18:51:00