我有一个ASP.NET MVC应用程序,作为Azure Web App运行。
我使用预身份验证/ EasyAuth,对于5个部署插槽,它可以正常工作。他们每个人都有自己的Azure AD应用注册。
但是,在/.auth/login/aad/callback
路径登录后,生产站点(不是部署插槽,应用程序的根目录)会引发错误:
我将Azure AD App清单与可行的清单进行了比较,唯一的区别是名称,描述和URL - 正如预期的那样。
答案 0 :(得分:1)
所以,基本上这是使用的App Registration的一个问题,是从另一个部署插槽创建的。
即使网络应用程序的Authentication / Authroization
设置为Express,也选择了正确的应用程序注册 - 事实证明它没有将客户端密钥从应用程序注册转移到Web应用程序(在我的情况下,它有错误的密钥):
link
要修复它,您可以切换到高级,如上所示,打开关联的应用程序注册并创建一个新密钥:
直到您保存才会显示该键,并且仅显示一次。复制它,并将其插入Web App的Client Secret输入。
保存所有刀片后,可以切换回Express auth。设置和密钥将保留。
答案 1 :(得分:0)
由于我无法发表评论,因此我将把我的案件作为答案添加,比我要发表评论要详细得多。
在作为Azure App Service Web App运行的ASP.NET MVC应用程序中,我从Easyauth收到了完全相同的错误消息。
最初的错误消息只是“由于发生内部服务器错误而无法显示该页面”。通过FTP和/或Visual Studio Server资源管理器和/或Cloud Explorer,我可以在设置来自应用服务日志的详细错误消息之后检查实际错误页面。这些错误与使用Kudu获得的MartinHN相同。
因此,在更详细的错误中,主要显示的500.74错误最初将我指向错误的方向(MFA)。但是,错误消息指示发生内部服务器错误的请求网址(.auth / login / aad / callback)导致我遇到了这样的问题。
就我而言,尽管我已经在App Services Active Directory身份验证中选择了高级配置。客户密钥不仅是错误的。原来,客户机密已过期。但这对我来说并不明显,因为我无法使用AAD。我不得不联系一个单独的广告团队来检查机密。
因此过期的客户端密钥(密钥)也可能导致此错误。