dongmaqiu6084 2013-01-24 06:50
浏览 93

自动登录FBConnect问题

Auto Login in fbconnect is not recognizing the User Session.javascript code

    <div id="fb-root"></div>
<script type="text/javascript">

var flag=0;

var fbLogin = "<?php echo $this->Session->read('FBLoginID')?>";
var sLogin = "<?php echo $this->Session->read('LoginID')?>";
var FB_APP_ID = "<?php echo FB_APP_ID;?>";
var SITE_URL = "<?php echo SITE_URL;?>";


            window.fbAsyncInit = function() {
                FB.init({appId: FB_APP_ID, status: true, cookie: true, xfbml: true, oauth:true});

                /* All the events registered */
                FB.Event.subscribe('auth.login', function(response) {
                    // do something with response
                    login();
                });
                FB.Event.subscribe('auth.logout', function(response) {
                    // do something with response
                    logout();
                });

                if(FB.getUserID()) { 
                    if(sLogin==""){
                      if(fbLogin==""){
                        //document.location.href = SITE_URL+"/members/fbconnect";
                window.location = SITE_URL+"members/fbconnect";
                      }
                    }
                }
            };
            (function() {
                var e = document.createElement('script');
                e.type = 'text/javascript';
                e.src = document.location.protocol +
                    '//connect.facebook.net/en_US/all.js';
                e.async = true;
                document.getElementById('fb-root').appendChild(e);
            }());

            function login(){
                if(!sLogin)
                    window.location = SITE_URL+"members/fbconnect";
            }
            function logout(){
                window.location = SITE_URL+"/homes/logout";
            }

function LogoutFB(){FB.logout(SITE_URL+'/homes/logout');}

</script>
<div id="fancy-facebook" class="mobil-sprite">
<p class="fancy-facebook-heading">Sign-in <span class="grey">with facebook</span></p>
<div style="clear:both;height:5px;"></div>
<div style="margin:20px auto;width:94px;">
<fb:login-button autologoutlink="true" scope="user_photos,friends_photos,email,user_birthday,status_update,publish_stream">Connect</fb:login-button>
</div>
</div>

Facebook PHP code

<?php

require_once 'facebook/fb/facebook.php';

class FacebookConnectComponent extends Object  {

    var $components = array('Session','Session');

    var $facebook;
    var $__fbId = FB_APP_ID;
    var $__fbApiKey = FB_APP_ID;
    var $__fbSecret = FB_SECRET_KEY;

    var $loginUrl = '/members/fbconnect';
    var $logoutUrl = '/members/logout';

    var $session;
    var $user;
    var $fbme;

     function startup(&$controller) {

        $this->facebook = new Facebook(array(
          'appId'  => $this->__fbId,
          'secret' => $this->__fbSecret,
          'cookie' => true
        ));

  //$this->session = $this->facebook->getSession();
    $this->user = $this->facebook->getUser();
    $this->fbme = null;
    // Session based graph API call.
    //if ($this->session) {
     if($this->user){
      try {
        $uid = $this->user;
        $this->fbme = $this->facebook->api('/me');
      } catch (FacebookApiException $e) {
          //$this->d($e);
           // $login_url = $this->facebook->getLoginUrl();
   // header("Location: ".$login_url); 
      }
    }//else{ echo "test";die; }
    //new code
    // if(!$this->user) { //Ask for bare minimum login
    // $login_url = $this->facebook->getLoginUrl();
   // header("Location: ".$login_url); 
    // }
    //end of code

    function d($d){
        echo '<pre>==';
        print_r($d);
        echo '</pre>';
    }

    function getlogout(){

        return $this->facebook->getLogoutUrl();
    }

    }
 }

?>

If user is already login to facebook.It redirect to memeber/fbconnect again and again with facebook not authorize.

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥17 pro*C预编译“闪回查询”报错SCN不能识别
    • ¥15 微信会员卡接入微信支付商户号收款
    • ¥15 如何获取烟草零售终端数据
    • ¥15 数学建模招标中位数问题
    • ¥15 phython路径名过长报错 不知道什么问题
    • ¥15 深度学习中模型转换该怎么实现
    • ¥15 HLs设计手写数字识别程序编译通不过
    • ¥15 Stata外部命令安装问题求帮助!
    • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
    • ¥15 TYPCE母转母,插入认方向