虚拟路径(应用程序)下Azure Webapp上的AspNet Core 2.1 MVC(应用程序)AzureAd身份验证尾部斜杠问题

时间:2019-01-09 16:00:11

标签: authentication asp.net-core-mvc azure-active-directory virtual-directory trailing-slash

在同一个解决方案的两个项目中,我分别拥有Public web和Management web(crud / admin)。

如果我将管理Web项目发布到Web-App-root中的Azure,则一切正常。我可以按预期对我们的组织AzureAD再次进行身份验证(当然,还可以修复返回URL)。 但是我需要在根目录中发布未经身份验证的公共Web,并在/ Admin虚拟应用程序下发布管理部分。

关于“公共”网络的一切运行都很好。

但是,仅当我使用带斜杠的URL“ https://.azurewebsites.net/admin/”时,针对在/ Admin下发布的管理Web的针对login.microsoftonline.com的身份验证才有效。 如果没有admin之后的斜杠,它将无法正常工作。错误是(不完全是):无法登录到“ Mismatch ReturnURL”原因。

如果有人可以帮助解释Core 2.1,AzureAd,MVC路由的混乱情况以及接下来的工作地点,我将感到非常高兴。我已经工作了很多年,习惯了相对路径和绝对路径以及它的工作方式,但无法弄清楚这一点。
尝试了Url Rewrite,将admin和admin / returnurls添加到了AzureAd中,并且进行了其他一些无济于事的测试。

我已关注本文Azure samples core 2.1

json-config的一部分(不包含curls):

  "AzureAd": 
"Instance": "https://login.microsoftonline.com/",
"Domain": "<org>.onmicrosoft.com",
"TenantId": "00000000-0000-0000-b294-6abc39000000",
"ClientId": "00000000-0000-0000-b127-15cd58000000",
"CallbackPath": "/signin-oidc"

0 个答案:

没有答案