多租户应用程序 - OneDrive Business API

时间:2016-01-14 11:28:39

标签: azure office365 uwp onedrive

我需要创建一个通用应用Windows 10 ,允许用户将自己的文件保存在自己的OneDrive商业帐户中。

我读到我需要在Azure Active Directory(开发者帐户)中注册该应用程序,然后请求OneDrive for Business的权限。

可是:

问题1 :如果在Azure AD中将应用设置为“多租户”,则每个用户都会将其文件存储在自己的企业帐户onedrive中?

用户登录:xxxx@contoso.onmicrosoft.com ---> onedrive商业帐户contoso.onmicrosoft.com

用户已登录:xxx@otherbusiness.onmicrosoft.com - > onedrive企业帐户:otherbusiness.onmicrosoft.com

问题2:然后,当我们调用api url和app是多租户时,租户可以放在这里:

的https:// {租户} -my.sharepoint.com/_api/v2.0

2 个答案:

答案 0 :(得分:1)

问题1

如果您将应用声明为多租户,则您的组织(例如contoso.onmicrosoft.com)将成为该应用的所有者。然后,其他组织租户(例如awesomebusiness1.onmicrosoft.com,awesomebusiness2.onmicrosoft.com等)将能够使用您的应用进行身份验证。身份验证将起作用,在AzureAD中,您将看到awesomebusiness1和awesomebusiness2的用户,这些用户是您应用的用户。 然后,如果John Doe通过您的多租户应用程序进行身份验证,则已连接用户的onedrive业务帐户将为johndoe@awesomebusiness1.onmicrosoft.com。

<强>问题2

大多数Office365 Api和Graph api都不包含租户的名称。例如,请参阅this documentation。实际上,这简化了REST请求的创建。但是,在您的情况下,如果您需要目标sharepoint站点的URL,那么您将有责任动态创建它。当用户连接您检索其租户的名称(例如awesomebusiness2)并创建网址(例如https://awesomebusiness2-my.sharepoint.com/_api/v2.0

答案 1 :(得分:1)

问题2

您可以从Discovery Service获取租户网址,查看OneDrive for Business authentication and sign in文章中的第3步。 Discovery Service将返回带有serviceEndpointUri的MyFiles节点,这正是您所需要的

https://{tenant}-my.sharepoint.com/_api/v2.0