在facebook身份验证中使用Yii的HybridAuth重定向循环

时间:2014-03-13 14:56:00

标签: php yii hybridauth

我知道有很多关于这个问题的问题,因为他们没有帮助我,我会问新的问题。

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

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

我要说的最有趣的事情是这完全适用于localhost ,但不适用于实时服务器

真的很烦人,浪费了很多时间。 这是两个动作的代码:

$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是正确的。

感谢您提前帮助。

2 个答案:

答案 0 :(得分:0)

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

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

尝试通过这种方式改变它可能有所帮助

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

答案 1 :(得分:0)

在控制器中,您可以获取Hybrid_Auth对象:

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

use this