卷曲登录用户到外部网站

时间:2014-01-01 09:54:57

标签: php curl single-sign-on

昨天我问了一个关于它的复杂问题,但没有人回答它,所以我想问一下,我可以。

我想登录网站a时登录用户到网站b。 (我想要一些sso wordpress-> lms平台)

我试图用cURL来做,我使用这样的代码:

$username="..."; 
$password="..."; 
$url="..."; 
$cookie="cookie.txt"; 

$postdata = "login=".$username."&password=".$password; 
$ch = curl_init(); 
curl_setopt ($ch, CURLOPT_URL, $url); 
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"); 
curl_setopt ($ch, CURLOPT_TIMEOUT, 60); 
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie); 
curl_setopt ($ch, CURLOPT_REFERER, $url); 
curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata); 
curl_setopt ($ch, CURLOPT_POST, 1); 
$result = curl_exec ($ch); 

echo $result;  
curl_close($ch);

这个脚本工作正常,但我有两个问题: - 脚本将我重定向到siteB并登录我但是当我点击siteb中的某个链接时,我得到的信息我没有进入(我发现cURL正在服务器中登录而不是用户)。我想在这里我需要从txt文件中读取cookie并将其添加到用户浏览器中?

  • 我需要在后台完成。因此,在站点A登录后,用户不会被重定向到站点b。 (卷曲是一个很好的选择吗?)

如果有人做了类似的事情,请指出我正确的方向因为我坚持了2天;(

以下是我之前回答的链接,我详细解释了这个案例:

Wordpress SSO with Chamilo LMS - log in to chamilo in background

1 个答案:

答案 0 :(得分:0)

您无法使用非浏览器插件代表其他人为其他域设置Cookie。

考虑一下......你去一个网站,他们会把你登录到你的银行账户,而不是告诉你他们已经这样做了......你觉得怎么样?浏览器安全性使得这非常困难。