如何在sitefinity中获取用户身份验证令牌

时间:2015-05-14 14:50:51

标签: php web-services curl sitefinity

我想调用sitefinity Web服务:users.svc / authenticate。我正在运行我的sitefinity网站的本地实例,我也在运行本地php网站(使用wamp)。当我通过php文件调用此Web服务时,我收到401(未经授权)错误。我认为有两个问题之一。

1.我的语法错误。这是其中一些用于分析目的:

$serviceString =
"http://localhost:60876/Sitefinity/Services/Security/Users.svc/authenticate/";
$provider = array(
"MembershipProvider" => "",
"Password" => "password",
"Persistent" => true,
"UserName" => "admin"
);
$fp = fopen("test.txt", 'w');
$curl = curl_init($serviceString);
curl_setopt($curl, CURLOPT_FILE, $fp);
curl_setopt($curl, CURLOPT_POSTFIELDS, $provider);
if(!$curl_response = curl_exec($curl))
{
trigger_error(curl_error($curl));
}
curl_close($curl);
fclose($fp);

2。我这个过程错了。我得出结论,我可能需要在我的sitefinity项目中创建一些自定义Web服务,它将创建一个令牌,并将其传递给php站点。我希望情况并非如此,因为它看起来更难,但如果是的话,至少我知道从哪里开始。此外,如果有人对此有所了解,请告诉我在哪里可以开始。

2 个答案:

答案 0 :(得分:1)

从@ timw255检查我们您需要使用php进行身份验证的所有内容

https://github.com/timw255/SitefinitySTS-PHP

答案 1 :(得分:0)

我认为你是对的,你不能从那里访问服务。我认为您必须在Public文件夹中创建服务,以便您在未经过身份验证的情况下访问它们。

换句话说,而不是:

http://localhost:60876/Sitefinity/Services/Security/Users.svc/authenticate/

您需要在此处创建(移动)您的服务:

http://localhost:60876/Sitefinity/Public/Services/Security/Users.svc/authenticate/