与Azure Active Directory v2.0和OpenID Connect协议有关的问题

时间:2018-12-05 22:41:44

标签: azure azure-active-directory oidc

正在研究需要此项目的项目,请阅读https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-protocols-oidc 并有几个问题: 1)关于上面链接中提到的单点退出功能, 您是说如果用户A拥有100个Web应用程序登录, 如果他做的是:在这100个Web应用程序中的20个中注册 LogoutUrl 并为 LogoutUrl 实施“会话清除”, 然后注销时,这20个应用程序会自动注销,而其他80个应用程序仍在登录?

2)对于{ tenant }的访问权限,例如上面链接中的/ authorize,/ token端点,您是说所有用户都可以使用“ common”, 还是必须从AAD指定自己的{tenant}值? 我尝试使用似乎很有效的“ common”, 但是当我切换为使用自己在AAD门户中找到的{tenant}后,似乎它已重定向到另一个陌生的网页并且无法正常工作? 所以想知道'common'vs.s.的实际区别是什么特定于用户的 {tenant}

非常感谢!

2 个答案:

答案 0 :(得分:0)

问题1:

当用户A在这100个Web应用程序中的20个中注册LogoutUrl并为LogoutUrl实现“会话清除”时,如果您注销它们,则只会注销20个应用程序。而且,如果只有这些注册LogoutUrl应用程序之一被注销,它就不能签名其他注册LououtUrl应用程序的应用程序。

问题2:

使用“公共”或“承租人”时,需要考虑您的应用程序(访问)。配置多租户应用程序时使用“ common”。这样,它将允许其他租户用户访问您的多租户应用程序。当您将应用程序设置为单一租户应用程序时,“租户”将仅允许自己的用户访问该应用程序。有关单租户或多租户应用程序的详细信息,请阅读here

答案 1 :(得分:0)

@SunnySun

非常感谢您的答复。对于问题1,您对答案仍然感到困惑。 另一个例子: 假设这是用户A所做的: 1)注册LogoutUrl 2)已实现的Web应用程序App1,App2,App3,App4 3)在Web应用程序App1和App2中:使用“会话清除”实现了LogoutUrl 而在App3,App4中:根本没有实现LogoutUrl 4)现在,用户已经登录了这四个应用程序App1-4

情况#1:用户从App1退出 那么会发生什么呢? 用户将从App1,App2,App3,App4中退出吗? 还是只是将用户从App1和App2中注销,而仍然保持对App3,App4的登录状态?

案例2:用户从App3退出 现在会发生什么? 用户将从App1,App2,App3,App4中退出吗? 还是仅从App1和App2中注销用户,而仍然对App3,App4保持登录状态? 还是用户仍保持登录App1,App2和App4的权限?