【发布时间】:2012-11-09 12:12:28
【问题描述】:
我编写了一个 WCF 服务,它作为 (PaaS) 在 Azure 中托管。该服务又需要与 Sharepoint 2013 Online/Office 365 通信。
我正在考虑使用 Sharepoint Client 对象模型与之对话,但不断收到以下错误:“远程服务器返回错误:(403) Forbidden” 当我们通过浏览器登录访问 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 令牌,将其传递给 SPO,后者将返回两个 cookie,我需要将它们包含在使用客户端对象模型发出的请求中。问题是我没有找到任何关于如何在 C# 中使用联合帐户进行身份验证的适当示例。
谁能指出我正确的方向,我可以如何继续授权我的 WCF 服务与 SharePoint 对话。
对不起,如果这是在错误的论坛。我不确定这是 Azure 问题还是只是 SharePoint,因为我对这两种技术都很陌生。
【问题讨论】:
-
在 Stackoverflow 上有同样的问题。现在终于解决了:stackoverflow.com/questions/11295953/claim-auth-from-adfs 我还写了一篇关于它的博客文章,并创建了一个带有功能区项目的 GitHub 存储库以开始使用。希望对你有帮助:jwillmer.de/blog/2013/01/04/…
-
我也遇到了同样的事情 - @jwillmer 我有一个不依赖于 win8\.net 4.5 的代码修改版本......如果你愿意接受,请告诉我github 的补丁或其他版本。
-
@TravisSharp 我很高兴接受您的拉取请求。开放改进! ;-)
标签: c# sharepoint authentication sharepoint-2013