繁体   English   中英

在线授权Office 365 / Sharepoint

[英]Authorization to Office 365/Sharepoint online

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

我正在使用Sharepoint Client对象模型与它交谈,但不断收到以下错误:“远程服务器返回错误:(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,我需要将这些cookie包含在使用Client对象模型发出的请求中。 问题是我没有找到任何关于如何在C#中使用Federated帐户进行身份验证的正确示例。

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

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

请尝试以下博客文章。 上个月刚刚宣布了访问Office 365 API的能力,并且能够从您的Web服务调用此功能是非常新的。 这篇文章是关于这个主题的一个很好的教程。

嗨,以防我们几天前注册成为Office365经销商,我不得不学习一个痛苦的事情:认证。 您从sharepoint获得的令牌仅有效2小时! 也许这会改变Sharepoint 15谁知道......

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

您是否尝试过使用Wictor的示例代码并仅使用ADFS登录端点替换login.srf URL?

在尝试这个时保持小提琴打开,并且每次检查请求/响应时,您可能会看到更多详细信息,说明为什么在C#隐藏在其对象模型中的响应主体内部无效。

查看此博客文章,了解如何使用可以创建SOAP信封的任何内容从ADFS获取身份验证令牌:

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

我知道这是一篇旧帖子,但是在不使用App Principal的情况下通过应用程序使用SharePoint Online可能违反了您的许可协议。 您应该使用真正的OAuth和SDK中的TokenHelper类来正确使用应用程序模型。

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

尝试与SharePoint对象模型类似时,我得到了403。 我需要做的就是纠正它,包括用户代理。

回答此处使用WebRequest获取cookie以自动登录Sharepoint Online,获取各种错误

希望它有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM