【发布时间】:2018-09-05 23:14:26
【问题描述】:
我遇到了一个可以观察到无限重定向循环的问题。我的项目基于官方的 MS 示例 - active-directory-b2c-dotnet-webapp-and-webapi
“重定向 URI”(在 Azure 门户中定义)是否必须是可公开访问的端点?
如果在我的控制器中我用[Authorize] 属性装饰它会发生什么?
所以基本上在这个例子中重定向 Uri(设置为网站根,即localhost:1234/)也是控制器中操作的路由,需要授权。
[Authorize]
public class ControllerA : Controller
{
[Route("~/")]
public ActionResult Index()
{
}
}
它会导致无限重定向循环吗?
删除路由属性可以解决问题,但同时,我觉得这不是问题的真正原因。
我认为与控制器的授权相比,应用程序堆栈中的 OWIN 授权更高,因此我认为 OWIN 授权中间件会首先解析来自 Azure Ad 的响应,而不是强制执行 [Authorize] 属性策略和提前拒绝。
【问题讨论】:
-
portal中注册的redirect uri通常指的是auth中间件直接处理的路径,而不是MVC控制器。
标签: c# asp.net-core openid-connect azure-ad-b2c