Office365 对Microsoft Graph API的多租户支持

Office365 对Microsoft Graph API的多租户支持,office365,microsoft-graph-api,Office365,Microsoft Graph Api,在使用MicrosoftGraphAPI()时,我想了解GraphAPI的多租户支持 据我所知,在使用O365 Azure广告访问graph API之前,我们需要首先创建并注册我们的应用程序() 这与早期的模式是一致的,在早期的模式中,应用程序是直接在底层广告中创建的。我相信上面的应用程序创建步骤也是如此 虽然这允许应用程序访问我们已注册应用程序的租户的graph API,但应用程序无法访问其他租户数据我们怎么做? 早期的广告应用程序有一个授权访问流,该应用程序用于向其他租户中的用户显示一个对话

在使用MicrosoftGraphAPI()时,我想了解GraphAPI的多租户支持

据我所知,在使用O365 Azure广告访问graph API之前,我们需要首先创建并注册我们的应用程序()

这与早期的模式是一致的,在早期的模式中,应用程序是直接在底层广告中创建的。我相信上面的应用程序创建步骤也是如此

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

早期的广告应用程序有一个授权访问流,该应用程序用于向其他租户中的用户显示一个对话框,以授权该应用程序此流程是否仍然有效?


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

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

另一种选择是,如果您直接从Microsoft Graph网站使用“链接到”,则无需做任何额外的工作即可使您的应用程序与多个租户协同工作。这将需要将身份验证策略切换到(也称为聚合身份验证)。这也给您带来了一些好处,比如动态范围,能够支持企业和消费者身份验证以及具有相同身份验证流的图形API

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

额外的

如果您对v2.0身份验证端点的{tenant}段的选项有疑问,可以阅读相关内容

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

最重要的是,在处理多租户应用程序时,使用
common
作为租户id。请参见下面的操作:

https://login.microsoftonline.com/common/oauth2/authorize?response_type=code&client_id=&redirect_uri=“


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

我似乎是MVC应用程序使用Graph API的好例子,但它是单租户,当示例是多租户时,它不再使用Graph API,而是使用sharepoint库。有人知道任何多租户的示例代码,并使用类似“MicrosoftGraph.Office365.Generic”项目的Graph API吗?