2014-03-13 24 views
0

我知道关于这个问题有很多问题,并且因为他们没有帮助我,我正在问一个新问题。混合认证在Facebook身份验证中与Yii重定向循环

让我告诉你我是如何尝试整合的。我在我的控制器actionIndexactionDone有两个动作。

在第一个操作中,我尝试对用户进行身份验证(如果已经通过身份验证,我抓取用户信息并将其保存到我的数据库中),而在第二个操作中,我只包含混合index.php(用于处理hybridauth)。

而且我要告诉最有趣的事情是,这完全工作在本地主机上但不是在直播服务器

这实在是烦人,浪费了很多时间。 这里是两个行为的代码:

$ha = $this->_getHA(); //i'm just bring files here 
$adapter = $ha->authenticate('facebook'); 

if ($adapter->isUserConnected()) { 

    // get user profile 
    $profile = $adapter->getUserProfile(); 

    /* 
    * If user has authenticated already 
    */ 
    $social_id = (int) $profile->identifier; 

    .... 
    } 
} 

第二个行动:

public function actionDone() { 

    $path = Yii::getPathOfAlias("ext.hybridauth.index") . '.php'; 
    require $path; 


} 

注:我'相信我的BASE_URL是正确的。

感谢您提前帮忙。

+0

由于循环登录,许多人面临此计划。我的意思是你有方法M需要登录,然后重定向登录。但不知何故(由于访问限制)登录方法本身要求用户进行登录,因此它本身无限重定向。检查是否不是问题。我不熟悉医管局,所以不能在这里帮忙! –

回答

0

我也经常遇到同样的问题。您的服务器基本路径配置不正确。你只需要检查这个变量

$path = Yii::getPathOfAlias("ext.hybridauth.index") . '.php'; 

试图通过这种方式来改变它可以帮助

$path = Yii::getPathOfAlias("ext.hybridauth") .'/index.php'; 
+0

尝试打印$ path变量,然后再检查 – Babu

+0

感谢您的答案,但我的方法与您的方法一样真实。顺便说一句,我测试过但没有发生, –

0

在你的控制器,然后就可以得到Hybrid_Auth对象:

$ha = Yii::app()->getModule('hybridauth')->getHybridAuth(); 
$facebook = $ha->getAdapter('facebook'); 
$facebook->setUserStatus('Hi'); 

use this