【问题标题】:web application to multi tenant application one drive business apiWeb 应用程序到多租户应用程序一驱业务 API
【发布时间】:2016-10-20 10:42:20
【问题描述】:

我的问题类似于问题Multi-Tenant app - OneDrive Business API

但我希望我的应用程序能够从其他不同 azure 订阅的租户访问一个驱动器,这可能吗?我知道,如果我注册我的应用程序并将其标记为多租户,它将允许我访问我的 azure 订阅中的租户,但是如果我想使用相同的应用程序但在不同的 azure 订阅中访问租户,那该怎么办。

【问题讨论】:

    标签: azure multi-tenant azure-active-directory onedrive microsoft-graph-api


    【解决方案1】:

    您使用的是哪种身份验证流程?通常,我们使用用户委托访问 Web 应用程序的授权代码授予流程。在这种情况下,为了使其他租户的用户能够登录网站并访问他们的 Office 365 资源,我们只需要在 Azure 门户上启用多租户应用程序即可。

    但是如果我想使用相同的应用程序但在不同的 azure 订阅中访问租户,该怎么做。

    这取决于您使用的是哪种 REST。如果我们使用 Microsoft Graph 查询 OneDrive for business,这与我们为单租户应用程序调用 REST API 相同。无论用户登录哪个租户,driveItem 的子列表的端点仍然如下所示:

    GET https://graph.microsoft.com/v1.0/me/drive/root/children
    GET https://graph.microsoft.com/v1.0/me/drive/items/{item-id}/children
    GET https://graph.microsoft.com/v1.0/me/drive/root:/{item-path}:/children
    

    如果您使用的是 Office 365 REST API,我们需要发现服务端点。有关 Office 365 发现服务 REST API 的更多详细信息,您可以参考here

    【讨论】:

    • 嗨,我使用了这个示例应用程序github.com/microsoftgraph/aspnet-connect-rest-sample,并且这个应用程序正在使用azure.microsoft.com/en-us/documentation/articles/… 身份验证我对图形 api 很好,并且可以使它适用于我的 azure 订阅中的单个租户但是如果我想让它适用于我的 frnds azure 订阅或根本没有注册的租户,我的意思是他的 Office 365 帐户。有没有可能。
    • 是的,它可以为多个租户工作,这意味着任何 Azure 租户中的任何人都可以登录到他们的租户并使用您的应用程序。您只需确保在 Azure 门户上将应用程序启用为多租户。
    【解决方案2】:

    根据您通常需要的权限,其他租户的租户管理员必须将应用程序添加到他们自己的 Azure AD。使用较新的应用程序模型 v2,这要容易得多,因为管理员可以在整个租户的正常同意屏幕中简单地同意一次。请参阅 here 以获得有关其工作原理的更详细说明。

    【讨论】:

      猜你喜欢
      • 2012-07-24
      • 2021-04-17
      • 2020-05-08
      • 1970-01-01
      • 2020-07-25
      • 1970-01-01
      • 2018-08-29
      • 2011-05-05
      • 2015-08-17
      相关资源
      最近更新 更多