小编Dir*_*gür的帖子

Azure Web 应用程序 + Node.js + Azure AD = 错误 431

我创建了一个基于 Node.js 的 Web 应用程序,在 Azure Web 应用程序中运行,我想将其置于 Azure Active Directory 身份验证之后。激活“应用服务身份验证”后,登录过程正常工作,但是在返回我的应用程序时,它只返回 HTTP 431“请求标头字段太大”。

为了验证它不是我的应用程序,我检查了 Node.js 的 Azure Web 应用程序示例,即使在激活 AAD 时也会返回 431。

重现步骤:

  • 创建新的 Azure 资源 -> Web App
    • 选择任何基于 Node 的运行时堆栈,例如 Node 12 LTS
    • 选择任何操作系统
    • 创建 Web 应用程序并等待部署完成
  • 创建一个简单的网络应用程序
  • 在网络应用程序设置中,转到“身份验证/授权”
    • 将“应用服务身份验证”设置为“开启”
    • 选择 Azure 活动目录
    • 选择快速管理模式并在此过程中创建一个新的 Azure AD 应用程序
    • 作为“请求未通过身份验证时采取的操作”选择“使用 Azure AD 登录”
    • 确认

结果:当使用浏览器打开 Web 应用程序 URL 时,它将显示登录过程,在此过程之后一切似乎都正常并且 AAD 返回到应用程序,但此时它返回 HTTP 431。

进一步测试:

  • 停用身份验证,一切正常
  • 上传一个简单的 .html 文件而不是 Node 应用程序在启用身份验证的情况下工作正常
  • 用restify和http测试 …

azure node.js azure-active-directory azure-web-app-service azure-webapps

9
推荐指数
1
解决办法
2903
查看次数