我正在尝试使用Yii扩展程序yii-facebook-opengraph登录。 我没有问题地安装登录小部件。
我有两个问题:
RESOLVE : 编辑:SFacebook.php方法initJs。
if ($this->async) {
$init = "window.fbAsyncInit = function(){{$init};
// whenever the user logs in, we tell our login service
FB.Event.subscribe('auth.login', function() {
window.location = ' " . Yii::app()->baseUrl."xxxREDIRECT-URLxxx". "';
});
};
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = '{$script}';
d.getElementsByTagName('head')[0].appendChild(js);
}(document));";
}
二:在页面内我打电话给facebook api。如果用户关闭
facebook会话,当我尝试拨打facebook api时,我有一个错误,
所以如果用户登录或不登录,我想在每个页面上检查一次
这样:
try{
$userId = Yii::app()->session['userId'];
if (($userId=="") || ($userId==0)){
try{
$user = Yii::app()->facebook->api('/me');
Yii::app()->session['userId'] = $user['id'];
Yii::app()->session['userName'] = $user['name'];
return true;
}catch (Exception $e) {
$this->redirect(array('Admin/Index')); //LOGIN PAGE
}
}else{
return true;
}
}catch (Exception $e) {
$this->redirect(array('Admin/Index')); //LOGIN PAGE
}