Asp.net core 使用Microsoft.Identity.Web时,如何设置AzureAD重定向url

Asp.net core 使用Microsoft.Identity.Web时,如何设置AzureAD重定向url,asp.net-core,web-applications,asp.net-core-webapi,Asp.net Core,Web Applications,Asp.net Core Webapi,我有一个小的应用程序设置,它是使用蓝色/绿色的部署策略。在本地运行时,一切都正常工作,但一旦部署登录,登录就会出现重定向循环,直到浏览器抛出400.15错误。问题似乎是因为反向代理,其中请求与应用程序url一起发送,但重定向url指向本地主机。下面是一个示例url,您会注意到重定向uri指向的是localhost,而不是example.com 我找到了一些答案,但这是在Microsoft.Identity.Webnuget软件包存在之前的解决方案。现在建议在startup类中使用.AddSig

我有一个小的应用程序设置,它是使用蓝色/绿色的部署策略。在本地运行时,一切都正常工作,但一旦部署登录,登录就会出现重定向循环,直到浏览器抛出
400.15
错误。问题似乎是因为反向代理,其中请求与应用程序url一起发送,但重定向url指向本地主机。下面是一个示例url,您会注意到重定向uri指向的是
localhost
,而不是example.com


我找到了一些答案,但这是在
Microsoft.Identity.Web
nuget软件包存在之前的解决方案。现在建议在startup类中使用
.AddSignIn()
扩展,我不确定如何添加git问题中引用的属性。

我认为这应该由htts://github.com/AzureAD/microsoft-identity-web#115 (即将在Microsoft.identity.Web中实施)


我还提供了一个GitHub问题的解决方案:

这可能会有所帮助:我仔细研究了一下,似乎更多的是处理接收请求的代理的实际配置。我的配置很好,可以正常工作。有一次,我试图添加AzureAD认证部分,结果却失败了。基本上,该场景是请求进入example.com,然后转发到localhost:8080,站点意识到其未经过身份验证,并通过重定向url访问login.microsoft.com,如上所示。发生了某种不匹配,导致重定向循环,直到错误被抛出。我们也有类似的问题,但AzureAD没有。关键点是,您的asp核心应用程序需要知道正确的主机名和方案,才能生成正确的重定向uri。这无法在反向代理后立即执行,您需要按照链接文档中的说明启用它。您可以创建一个响应
Request.Host,Request.Scheme
的测试操作,它应该输出example.com。如果没有,请检查转发的标头中间件。