多租户支持Microsoft Graph API

时间:2016-08-15 06:09:18

标签: office365 microsoft-graph

当我正在使用Microsoft Graph API(https://graph.microsoft.io/)时,我想了解Graph API的多租户支持。

据我了解,我们需要首先使用O365 Azure AD创建并注册我们的应用程序(http://dev.office.com/app-registration),然后才能使用它来访问图API。

这与先前的模型一致,其中应用程序直接在底层AD中创建。我相信上面的应用创建步骤也是如此。

虽然这允许应用访问我们已注册应用的租户的图API,但该应用无法访问其他租户数据。 我们该怎么做?

之前的AD应用程序有一个授予访问权限流程,其中该应用程序用于向其他租户中的用户提供对话框以授权该应用程序。 此流程是否仍然有效?

这方面的任何指导都会有所帮助。

3 个答案:

答案 0 :(得分:2)

作为替代方案,如果您直接使用Microsoft Graph网站链接的App Registration Portal,则无需执行任何额外操作即可使您的应用与多个租户合作。它需要将您的身份验证策略切换到v2.0 Authentication Endpoints(也称为融合身份验证)。这对您也有一些好处,例如动态范围,并且能够支持具有相同身份验证流的企业和消费者身份验证以及图形API。

根据您选择的平台,有几个samples under the Microsoft Graph GitHub帐户可以在您需要时为您提供帮助。许多样本已经切换到这个新的身份验证流程,其他样本也正在进行切换。

<强>附加

如果您对v2.0身份验证终结点的{租户}细分受众群的选项有疑问,可以阅读here

  • common =&gt;允许拥有Azure Active Directory的个人Microsoft帐户和工作/学校帐户的用户登录该应用程序。
  • organizations =&gt;仅允许具有Azure Active Directory中的工作/学校帐户的用户登录该应用程序。
  • consumer =&gt;仅允许拥有个人Microsoft帐户(MSA)的用户登录该应用程序。
  • {tenant guid | name} =&gt;仅允许具有特定Azure Active Directory租户的工作/学校帐户的用户登录该应用程序。可以使用Azure AD租户的友好域名或租户的guid标识符。

答案 1 :(得分:1)

要为多个租户启用应用,我们需要登录Azure门户并启用它,如下图所示: enter image description here

答案 2 :(得分:0)

最重要的是,在处理多租户应用时,请使用common作为您的租户ID。看看它如何在下面完成:

https://login.microsoftonline.com/common/oauth2/authorize?response_type=code&client_id=<YOUR_AAD_CLIENT_ID_HERE>&redirect_uri=<YOUR_REDIRECT_URI_HERE>'

没有明确提及这一点,因为他们的文件更糟糕。对于像微软这样规模的公司来说,没有任何借口。