我正在编写一个托管在Azure(PaaS)上的WCF服务。该服务需要与Sharepoint 2013 Online / Office 365进行通信。
我想使用Sharepoint客户端对象模型来进行通信,但是不断收到以下错误:“远程服务器返回了一个错误:(403)禁止访问”。 当我们登录以通过浏览器访问SharePoint实例时,通常会将您带到https://login.microsoftonline.com/login.srf,以便您可以使用Live Id登录。问题是我们使用的是联合账户而不是Live Id,因此再次重定向到adfs网站以登录。 我查看了代码示例http://www.wictorwilen.se/Post/How-to-do-active-authentication-to-Office-365-and-SharePoint-Online.aspx,它使用基于声明的身份验证,但每次尝试检索Saml令牌时都会失败并显示“认证失败”消息。
如果我理解正确。其中一种方法是获取Saml Token,将其传递给SPO,SPO将返回两个Cookie,我需要在使用Client对象模型进行的请求中包含这些Cookie。问题是,我没有找到如何使用C#对联合帐户进行身份验证的适当示例。
有人能指点我正确的方向,告诉我如何授权我的WCF服务与SharePoint通信吗?
如果此帖子发布到了错误的论坛中,请原谅。因为我对这两项技术都不太熟悉,所以不确定这是Azure问题还是SharePoint问题。