【问题标题】:Hosting .Net Core application with Azure Active Directory authentication on IIS在 IIS 上使用 Azure Active Directory 身份验证托管 .Net Core 应用程序
【发布时间】:2016-11-02 16:22:30
【问题描述】:

我想在 IIS 上托管一个 .Net Core 应用程序,该应用程序通过 Azure Active Directory 使用身份验证。现在我已经完成了在 VS 中完成新项目向导的基本站点设置,它在本地运行良好。但是,当我将项目部署到 IIS 并尝试打开页面时,它似乎陷入了无限循环,重定向到 Microsoft 登录页面,最终出现:

错误请求 - 请求太长

HTTP 错误 400。请求标头的大小太长。

知道我错过了什么吗?

【问题讨论】:

  • 你查看过类似thread的回复吗?
  • @Bruce-MSFT 我确实认为这是某种 cookie 问题,但我很难相信这是“用户组太多”的结果......甚至与只属于一个组的用户一起工作。
  • 您的错误处理和身份验证处理是什么样的?听起来您可能在“未经授权”操作上具有授权属性……或您为此使用的任何操作。因此,未经授权的响应或错误响应会将您发送回中间件,中间件将发送回登录然后失败然后重新开始整个过程​​。
  • @PatrickMcvay 好吧......我真的没有很好地掌握这些。我刚刚开始使用 AAD 身份验证。在设置一个部署后似乎无法正常工作的新项目时,我确实拥有开箱即用的东西。
  • @Warlord 099 stackoverflow.com/a/40728317/6158454 看看这篇文章。这实际上是我回答的帖子,但我将整个启动和自定义缓存放在那里。现在允许这是用于与 Microsoft Graph Api 进行来回对话,但所有身份验证仍将保持不变。只需省略在 services.AddMvc() 上添加的策略,我就知道身份验证有效。我还要尝试的另一件事是将 [AllowAnonymous] 放在所有控制器之上,看看是否会停止无限循环

标签: iis asp.net-core-mvc azure-active-directory


【解决方案1】:

确保您设置了正确的回复网址。去这里:

并添加重播网址:

【讨论】:

  • 好建议,但是我已经设置了回复网址。如果你不这样做,你最终会得到一个不同的错误:回复地址“[地址]”与为应用程序配置的回复地址不匹配
猜你喜欢
  • 2017-09-05
  • 2020-07-30
  • 1970-01-01
  • 1970-01-01
  • 2019-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-30
相关资源
最近更新 更多