1

去年,我们一直在自定义母版页中运行 Angular 应用程序,使用 Sharepoint REST api 来检索用户属性、列表中的数据等,运行良好。由于应用程序托管在 Sharepoint Online 上,因此访问该页面需要登录,从而使请求摘要可用,因此不需要进一步的身份验证。

但是,现在我们想开始使用 Microsoft Graph API 中的一些功能。据我所知,这需要针对 Azure Active Directory 的 OAuth2 身份验证,其中包括重定向到 AAD 登录页面。

这是否意味着我必须:

1) 通过组织(标准 Microsoft)登录页面登录以访问 Sharepoint Online 站点。2) 重定向到 Azure AD 登录页面并再次返回?

或者我可以利用用户在登录 Sharepoint Online 时已经进行的登录吗?

抱歉,如果这个问题有点模糊,我们对此还是很陌生。

4

2 回答 2

1

您可以使用来自 graph.microsoft.com 的相同令牌。我有一个使用 Asp.Net Core 1.0 和 .Net ADAL 的示例,但使用 ASP.NET 4.6 时使用了相同的身份验证流程。只需在启动时针对 ms graph 发出您的身份验证请求,然后获取访问令牌以针对 SharePoint 进行身份验证。 https://github.com/edrohler/com.ericrohler

希望这可以帮助。

于 2016-02-03T00:26:25.703 回答
1

在 Azure AD 上注册应用程序时,您将授予应用程序对 Files/Sharepoint REST api 和 Microsoft Graph API 的访问权限。请参阅此图片,该应用程序可以访问多个 API(Exchange、Graph 和 AD),您必须在您的案例中添加共享点 API。

关于身份验证,恐怕 Sharepoint 模型不提供可以让您请求 Graph API 的令牌,请参阅 this。您将有两种身份验证,一种用于访问 Sharepoint 站点,如您所说,另一种是“在”sharepoint iframed 加载项“内”,用于登录您的 AAD 注册应用程序。这将是一个通过 login.microsoft.com 的 OAUTH 进程。在 Office 商店中查看我的 Outlook 加载项Keluro Mail Team,我认为它与您想要实现的目标相似。

于 2016-02-02T13:25:47.637 回答