使用Microsoft Graph API访问多个SharePoint在线站点

时间:2018-02-18 07:57:52

标签: azure-active-directory microsoft-graph sharepoint-online

我们开发了一个利用AAD和Microsoft Graph的LOB应用程序。

用例是用户将使用他/她自己的组织提供的AAD凭据登录应用程序。

登录后,用户需要访问与用户组织不同的SharePoint Online租户上的库。使用Microsoft Graph,我们可以将请求共享身份验证令牌作为请求的一部分,但每当我们尝试访问除用户自己的组织所拥有的实例之外的SharePoint实例时,我们都会收到400错误

例如,如果用户属于contoso.com,则他/她和所有来宾用户都会访问位于contoso.sharepoint.com上的SharePoint库。如果用户尝试访问用户是外部用户的myworld.com库,则图形API代码会返回400错误。

用户可以手动登录myworld.sharepoint.com并可以访问库等。但是当尝试使用图形API执行相同操作时,它会抛出400.

任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

这是不可能的。该令牌由AAD租户(或个人帐户的公共MSA租户)发布。您不能简单地从一个租户获取令牌来使用它来访问另一个租户。

请注意,这与互联网域名无关。如果Contoso拥有并在contoso.com租户中验证了myworld.comcontoso.microsoftonline.com,则所有这三个域都指向同一个租户并代表该资源的别名。