【发布时间】:2020-08-11 09:03:42
【问题描述】:
我有一个小应用程序设置,它使用蓝/绿部署策略。在本地运行时一切正常,但是一旦部署,登录就会进入重定向循环,直到浏览器抛出 400.15 错误。问题似乎是因为请求与应用程序 url 一起发送但重定向 url 指向本地主机的反向代理。下面是我被定向到的示例 url,您会注意到 redirect_uri 指向 localhost 而不是 example.com
我能够找到一些答案 here 但是这是在 Microsoft.Identity.Web nuget 包存在之前的解决方案。现在建议在启动类中使用 .AddSignIn() 扩展名,我不确定如何添加 git 问题中引用的属性。
【问题讨论】:
-
我看了一遍,似乎更多的是处理代理的实际配置以接收请求。我的配置很好并且正在工作。有一次我尝试添加 AzureAD 身份验证部分,事情就失败了。基本上情况是请求进入example.com,然后转发到localhost:8080,该站点意识到它没有经过身份验证并到达login.microsoft.com,但重定向url如上所示。发生某种不匹配会导致重定向循环,直到引发错误
-
我们遇到了类似的问题,但 AzureAD 没有。关键点是,您的 asp 核心应用程序需要知道正确的主机名和方案才能生成正确的重定向 uri。这不能在反向代理后面开箱即用,您需要按照链接文档中的说明启用它。您可以创建一个回显
Request.Host, Request.Scheme的测试操作,它应该输出example.com。如果没有,请检查转发的标头中间件。
标签: asp.net-core web-applications asp.net-core-webapi