通过PHP和SOAP对Sharepoint/Office356进行身份验证(声明)

通过PHP和SOAP对Sharepoint/Office356进行身份验证(声明),php,sharepoint,authentication,soap,office365,Php,Sharepoint,Authentication,Soap,Office365,我正在尝试向Sharepoint列表发出SOAP请求(通过'http://url.co.uk/_vti_bin/Lists.asmx?WSDL)使用需要身份验证的PHP5标准SOAP库。我使用NTLM身份验证(虽然很痛苦,但最终还是成功了)工作得很好,但现在项目的任务是通过声明进行身份验证,这样它就可以用于Sharepoint安装或office365实例 我从一开始就意识到标准的SOAP身份验证不起作用……但我还是尝试了!毫不奇怪,我收到了一个返回的错误“列表错误代码:HTTPList错误字符串

我正在尝试向Sharepoint列表发出SOAP请求(通过'http://url.co.uk/_vti_bin/Lists.asmx?WSDL)使用需要身份验证的PHP5标准SOAP库。我使用NTLM身份验证(虽然很痛苦,但最终还是成功了)工作得很好,但现在项目的任务是通过声明进行身份验证,这样它就可以用于Sharepoint安装或office365实例

我从一开始就意识到标准的SOAP身份验证不起作用……但我还是尝试了!毫不奇怪,我收到了一个返回的错误“列表错误代码:HTTPList错误字符串:禁止”

是否可以通过基于纯PHP/SOAP的解决方案通过声明进行身份验证?如果可以,实现这一点的最佳方法是什么?我读过关于Claims auth for sharepoint的各种文章,这些文章使用Apache技巧等各种解决方案进行身份验证。我正在从事的项目要求这是一个纯PHP解决方案


可能值得指出的是,我不是微软的开发人员,对声明身份验证的知识有限(这可能没有帮助!)

我没有看到任何PHP示例-这些示例解释了该过程,并给出了一个用C#实现,应该可以用PHP重写

以下是一些可能会有所帮助的更多信息(特定于PHP)。我自己还没有试过,所以不能说它是否真的有效:

库允许您使用SharePoint Online基于REST/OData的API对SharePoint列表数据执行CRUD操作

当前版本支持使用基于声明的身份验证的SharePoint Online

例子 如何在SharePoint Online(SPO)中执行身份验证:

try {
    $client = new SPOClient($url);
    $client->signIn($username,$password);
    echo 'You have been authenticated successfully\n';
}
catch (Exception $e) {
    echo 'Authentication failed: ',  $e->getMessage(), "\n";
}