如何在天蓝色多租户应用程序中登录特定租户?

时间:2017-08-02 12:49:51

标签: azure azure-active-directory

如何在天蓝色多租户应用程序中登录特定租户?

我有以下情况:

  1. 已注册Azure Application for multi-tenant scenario(网络应用程序)
  2. 两个应用角色“管理员”和“用户”
  3. 至少有一个用户的两个或多个Azure目录。 E.g。
  4. - Mary @ CompA
  5. - Joe @ CompB
  6. - Scott @ CompC
  7. 所有这些用户都在其目录中分配给“管理员”应用角色
  8. 然后我将Mary @ CompA作为访客用户添加到CompB和CompC目录中并分配应用程序角色“User”
  9. 我可以成功登录我的应用程序的所有用户。所有用户都使用自己的目录登录并拥有“管理员”权限。

    但我如何使用Mary登录租户/目录CompB或CompC(仅限“用户”权限)?

    或者,我如何查询用户所属的所有租户/目录。 在Azure管理门户中,我可以切换到一个目录,我是其成员。

    我发现another question可能是重复的。

1 个答案:

答案 0 :(得分:0)

这可以通过修改"租户"来轻松完成。您用于登录和令牌获取的端点。

Azure Active Directory的OAuth 2端点是:https://login.microsoftonline.com/{tenant}/oauth2/

当您创建多租户应用程序时,您将{tenant}设置为common,这允许"租户发现"。如果用户是多个租户的成员,则会选择他们的主租户作为默认登录。如果您希望用户专门登录他们所属的其他租户,则需要在{tenant}字段中指定该租户。您将无法在这里使用常用,因此您必须对用户所属的租户有一些假定的知识。这可以像允许用户在Web应用程序中将其租户指定为登录过程的一部分一样简单。

用你的例子的话来说,玛丽:

  • https://login.microsoftonline.com/common/oauth2/将签署她的家庭租户CompA
  • https://login.microsoftonline.com/CompA/oauth2/也会这样做,CompA
  • https://login.microsoftonline.com/CompB/oauth2/会将她作为普通用户签入CompB
  • https://login.microsoftonline.com/CompC/oauth2/会将她作为普通用户签入CompC

我希望这有帮助!