图形几乎可以说明故事。这是所有单租户,fwiw。
我有我的Web API,通过从同一位置提供的“swagger”UI(这实际上是一种spa)访问,以及一个MVC应用程序,它具有一些传统的MVC控制器交互使用Web API,以及一些直接与Web API交互的SPA体验。
从我读到的内容来看,除了我的Web API在我的AD租户中有一个应用程序注册(它具有在清单中声明的角色以支持RBAC)之外,我还需要有一个单独的应用程序注册为swagger UI授予访问Web API的权限。
我不能确定我的MVC应用程序需要1名AD租户登记,或者注册2(1 MVC,1为SPA从MVC担任了)
的主要问题..
我的MVC/SPA应该共享相同的AD注册,还是应该将它们分开?
我的Web API注册清单是否需要
"oauth2AllowImplicitFlow": true
,或者只有swagger和SPA应用程序注册的清单需要这样?我的MVC,based on this github sample for SPAs,目前使用这个中间件:
app.UseWindowsAzureActiveDirectoryBearerAuthentication
..但如果我的MVC是要干什么事情的选择性,在它的剃刀或与它的位指示的逻辑,我应该也可以使用这些用户互动,增加中间件UseCookieAuthentication
和UseOpenIdConnectAuthentication
as shown in this non-SPA web app sample
好的,这为我清除了一些东西。这些样本显示了一件或另一件事......但我还没有找到一个包装我试图实现的全貌。我现在会投票给你,并接受我得到它的所有工作;-) – bkwdesign
乔纳森,fwiw,[这是我失踪](https://stackoverflow.com/a/44835112/1520850)让我的SPA对我的启用CORS的Web API进行跨域调用 – bkwdesign