当我需要将“本地数据库中的非注册用户”重定向到所选社交网络时,HybridAuth 遇到了一些问题:facebook、twitter、windows live、linkedin、openid 等,更重要的是“允许”和“取消”页面!?
直到现在我已经得到了这段代码:
try {
// $via for instance can be: Twitter, Facebook, etc
$hybridauth = new Hybrid_Auth( $myConfig );
$via = ucfirst($via);
$adapter = $hybridauth->authenticate( $via ); // from this line some redirecting accoures
if( $hybridauth->isConnectedWith( $via ) ){
$user = $hybridauth->authenticate($via)->getUserProfile();
}
$profile = Users::model()->findByAttributes(array(
'networkName' => $via,
'networkId' => $user->identifier,
));
if(!is_null($profile)) {
// do a login
} else {
// do a registration + login
}
} catch(Exception $e) {
echo "Error: please try again!";
echo "Original error message: " . $e->getMessage();
die();
}
我希望我已经把我的观点说清楚了。感谢您在此问题上的所有帮助!