我正在嘗試使用Crugeconnector在Yii網站上工作的Facebook上登錄。 http://yiiframeworkenespanol.org/wiki/index.php?title=CrugeConnector。這是用西班牙語,但谷歌翻譯適用於它。與YII有困難Crugeconnector
無論如何,我現在的問題是成功函數沒有被調用,我不知道爲什麼。以下代碼位於組件數組下的main.php中。
'crugeconnector'=>array(
'class'=>'ext.crugeconnector.CrugeConnector',
'hostcontrollername'=>'site',
'onSuccess'=>array('site/loginsuccess'),
'onError'=>array('site/loginerror'),
'clients'=>array(
'facebook'=>array(
// required by crugeconnector:
'enabled'=>true,
'class'=>'ext.crugeconnector.clients.Facebook',
'callback'=>'http://smecontracts.ie/6/facebook-callback.php',
// required by remote interface:
'client_id'=>"290200194448698",
'client_secret'=>"0608f1e94db5a3a8b6612af1c61fb25d",
'scope'=>'email, read_stream',
),
下一批代碼在我的站點控制器下。
public function actionLoginSuccess($key){
error_log("In Sitecontroller successful login page", 0);
$loginData = Yii::app()->crugeconnector->getStoredData();
// loginData: remote user information in JSON format.
$info = $loginData;
error_log($info, 0);
$this->renderText('<h1>Welcome!</h1><p>'.$info.'</p> key='.$key);
$this->redirect(Yii::app()->params["GREETINGS_PAGE_LINK"]);
}
actionLoginSuccess函數永遠不會被調用。我調用了從未被調用的日誌文件,如上所示。最後,facebook-callback.php如下所示。
<?php
error_log("In facebook-callback page", 0);
$yii=dirname(__FILE__).'/../yii/framework/yii.php';
$config=dirname(__FILE__).'/protected/config/main.php';
defined('YII_DEBUG') or define('YII_DEBUG',false);
defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL',3);
$_GET['r'] = '/site/crugeconnector'; // <--using 'site' ?
$_GET['crugekey'] = 'facebook'; // <--facebook key
$_GET['crugemode'] = 'callback';
require_once($yii);
Yii::createWebApplication($config)->run();
?>
該頁正在被調用。上面的error_log確實被調用,但唯一發生的事情是用戶被帶回到我的網站上的主歡迎頁面,該頁面被設置在Facebook應用程序創建中。我不知道該從哪裏出發,我需要從facebook獲取信息並使用Yii創建一個帳戶,如果登錄成功功能正常工作,這將會相當容易地完成,但這存在我的問題。
感謝您的任何幫助。