我正在使用地址 = /cake/hybridauth/auth/google 的 HybridAuth 插件登录,然后我使用这些详细信息在数据库中查找用户并将他们登录到默认的 CakePHP Auth,如下所示:
$hybridauth = new Hybrid_Auth($hybridauth_config);
$adapter = $hybridauth->authenticate($provider);
$userprofile = $adapter->getUserProfile();
//look up user + register if not found
$this->loadModel('User');
$isUser = $this->User->find('first', array(
'conditions' => array(
'User.provider' => strtolower($provider),
'User.identifier' => $userprofile->identifier
),
'callbacks' => true
));
if(!$isUser){
//register the user
} else {
//update user with new credentials
$this->Auth->login($isUser["User"]);
//this doesn't work across the whole site,
//only this controller's "action" page
}
这一切都很好,直到我回到我在 /cake/ 的主页,那里似乎无法识别我已经登录 - 尽管在控制器的操作页面 (cake/hybridauth/auth/google) 我有用户登录进入 Auth 组件,上面的代码似乎工作......
请问有什么我想念的吗?
非常感谢。