Php Azure DevOps API在创建工作项时出现匿名访问错误

Php Azure DevOps API在创建工作项时出现匿名访问错误,php,wordpress,devops,wampserver,azure-devops-rest-api,Php,Wordpress,Devops,Wampserver,Azure Devops Rest Api,我一直在从事一个项目,从WordPress页面上的表单创建Azure DevOps工作项。我在WAMPserver上运行的本地WordPress安装上的一切都可以正常工作,但一旦将其移动到开发或生产服务器上,我就会收到以下错误“TF400813:资源不可用于匿名访问。需要客户端身份验证。”我相当肯定这将是需要在服务器上处理的事情,但我不确定是什么。我能够使用在我的WAMPserver安装上为此目的创建的服务帐户进行完全身份验证,但Windows Server IIS安装不配合。WordPress

我一直在从事一个项目,从WordPress页面上的表单创建Azure DevOps工作项。我在WAMPserver上运行的本地WordPress安装上的一切都可以正常工作,但一旦将其移动到开发或生产服务器上,我就会收到以下错误“TF400813:资源不可用于匿名访问。需要客户端身份验证。”我相当肯定这将是需要在服务器上处理的事情,但我不确定是什么。我能够使用在我的WAMPserver安装上为此目的创建的服务帐户进行完全身份验证,但Windows Server IIS安装不配合。WordPress页面通过PHP处理身份验证和使用CURL传递数据。这是代码

$url = 'https://organiztion-url/UMCom_DefaultCollection/area_path/_apis/wit/workitems/$'.$_POST['IssueType'].'?api-version=5.0';
    $headers = array('Content-Type: application/json-patch+json');
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);                         
    curl_setopt($curl, CURLOPT_USERPWD, 'account:password');
    curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY);                    
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);                          
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);   
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PATCH');//PATCH
    curl_setopt($curl, CURLOPT_POSTFIELDS, $jsonData);
    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
    $response = curl_exec($curl);
    $resultStatus = curl_getinfo($curl);

解决方案是同时使用PAT和标准身份验证,因为我们的本地环境无法正确使用PAT和我们的开发阶段,而产品环境需要PAT。

您可以尝试将所有作用域作为身份验证。即使我们使用active directory身份验证,这是否仍然有效?根据您拥有的应用程序类型,请查看。