【问题标题】:Multi tenant support for Microsoft Graph APIMicrosoft Graph API 的多租户支持
【发布时间】:2016-08-17 23:34:44
【问题描述】:

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

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

这与早期模型一致,即直接在底层 AD 中创建应用。我相信上面的应用创建步骤也是如此。

虽然这允许应用访问我们已注册应用的租户的图形 API,但该应用无法访问其他租户数据。 我们如何做到这一点?

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

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

【问题讨论】:

    标签: office365 microsoft-graph-api


    【解决方案1】:

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

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

    额外

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

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

    【讨论】:

    • ive 似乎是使用 Graph API github.com/OfficeDev/PnP/tree/master/Samples/… 的 MVC 应用程序的好例子,但它是单租户,当示例是多租户时,它不再使用 Graph API,而是使用共享点库。有谁知道多租户和使用图形 API 的示例代码,例如“MicrosoftGraph.Office365.Generic”项目?
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      最重要的是,在处理多租户应用程序时,请使用 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>'

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

      【讨论】:

        猜你喜欢
        • 2017-04-29
        • 1970-01-01
        • 1970-01-01
        • 2022-01-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多