授权到Office 365 / Sharepoint在线

我正在编写一个作为(PaaS)在Azure中托pipe的WCF服务。 该服务反过来需要与Sharepoint 2013 Online / Office 365交谈。

我正在寻找使用Sharepoint客户端对象模型来交谈,但不断收到以下错误:“远程服务器返回一个错误:(403)禁止”当我们通过浏览器访问SharePoint实例login时,它通常需要你到https://login.microsoftonline.com/login.srf,以便您可以使用Live IDlogin。 问题是我们正在使用联合帐户而不是Live ID,因此再次redirect到adfs站点进行login。 我看了一个代码示例在http://www.wictorwilen.se/Post/How-to-do-do-active-authentication-to-Office-365-and-SharePoint-Online.aspx使用基于声明的身份validation,但是当尝试检索Saml令牌时,总是失败,出现“validation失败”消息。

如果我正确理解这一点。 这样做的一个方法是获得Saml Token,将其传递给SPO,然后返回两个Cookie,我需要将其包含在使用Client对象模型的请求中。 问题是我没有find任何关于如何在C#中使用Federated帐户进行身份validation的正确示例。

任何人都可以指向正确的方向,我可以继续授权我的WCF服务与SharePoint交谈。

对不起,如果这是在错误的论坛。 我不确定这是Azure问题还是SharePoint,因为我对这两种技术都很陌生。

尝试以下博客文章。 上个月刚刚宣布访问Office 365 API的能力,从Web服务调用这个function的能力是相当新的。 这篇文章是关于这个主题的一个很好的教程。

嗨,以防万一,我们注册为Office365经销商几天前,我不得不学习一个痛苦的激情:validation。 您从Sharepoint获得的令牌只有2小时有效! 也许这将改变Sharepoint 15谁知道…

我认为这可能是一个有价值的提示,因为没有已知的解决方法…

您是否尝试过使用Wictor的示例代码,并用您的ADFSlogin端点replacelogin.srf URL?

在你尝试这个时候保持fiddler打开,并且每次检查请求/响应,你可能会看到更多的细节,为什么在C#隐藏在对象模型中的响应正文中不工作。

看看这个博客post,关于如何使用任何可以创buildSOAP信封的方法从ADFS获取身份validation令牌:

http://leandrob.com/2012/02/request-a-token-from-adfs-using-ws-trust-from-ios-objective-c-iphone-ipad-android-java-node-js-or-任何平台,或语言/

我知道这是一个旧post,但通过应用程序使用SharePoint Online而不使用应用程序主体可能违反了您的许可协议。 您应该使用真正的OAuth和作为SDK一部分的TokenHelper类正确使用应用程序模型。

使用Office 365 SharePoint网站创build一个环境,您可以使用ACS在提供程序托pipe的应用程序与本地SharePoint 2013服务器场之间build立信任关系,就像您为Office 365 SharePoint网站开发应用程序一样。 您可以访问以下链接以进一步了解: http : //msdn.microsoft.com/en-us/library/office/dn155905(v=office.15).aspx

我试图做类似的SharePoint对象模型时得到了403。 我所需要做的就是包括用户代理。

在这里回答使用WebRequest获取Cookie,以自动login到Sharepoint Online,获取variour错误

希望这是一些帮助。