Angularjs 使用Sharepoint联机登录访问Office Graph API?

Angularjs 使用Sharepoint联机登录访问Office Graph API?,angularjs,sharepoint,office365,microsoft-graph-api,Angularjs,Sharepoint,Office365,Microsoft Graph Api,去年,我们在自定义母版页中运行了一个Angular应用程序,使用Sharepoint REST api从列表中检索用户属性和数据等,效果良好。由于应用程序托管在Sharepoint Online上,因此访问页面需要登录,从而使请求摘要可用,因此无需进一步验证 但是,现在我们想开始使用MicrosoftGraphAPI中的一些功能。据我所知,这需要对Azure Active Directory进行OAuth2身份验证,其中包括重定向到AAD登录页面 这是否意味着我必须: 1) 通过组织(标准Mic

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

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

这是否意味着我必须:

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

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


很抱歉,如果问题有点模糊,我们对此仍然很陌生。

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


关于身份验证,我担心Sharepoint模型没有提供允许您请求Graph API的令牌。您将有两个身份验证,一个用于访问Sharepoint网站,正如您所说,另一个“在”Sharepoint iframed加载项中登录到AAD的注册应用程序。这将是一个通过login.microsoft.com的OAUTH进程。在Office store上查看我的Outlook加载项,我认为它与您想要实现的类似

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


希望这能有所帮助。

感谢下面的答案。一旦我继续调查,我对该做什么和如何做有了更清晰的想法。该页面受Sharepoint登录保护,我无法真正摆脱它。一旦进入,用户已经通过身份验证,所以我所要做的就是通过正常的OAuth2进程检索访问代码和授权代码。用户已经获得了MS帐户的授权,因此无需再次登录,但重定向是不可避免的。正如Benoit&Eric所说,我可以使用此身份验证来访问Sharepoint列表,但这是没有意义的,因为我已经登录到Sharepoint