在我的网络应用中,当用户从我的网络应用程序注销时,Facebook帐户会自动断开连接

时间:2015-06-02 07:35:02

标签: facebook session facebook-php-sdk logout

在我的网络应用程序用户使用他们的电子邮件ID登录,连接用户的Facebook帐户,Facebook上的帖子状态,并从网站注销(断开Facebook帐户与网站的连接选项"断开&# 34;),当用户重新登录网站时,已连接用户的Facebook帐户应处于连接状态,即用户无需再次连接Facebook帐户。

                if ( isset( $session )) { 

                $session = new FacebookSession( $session->getToken() );
                $_SESSION['fb_token'] = $session->getToken();
                $session = new FacebookSession( $session->getToken() );
                $request = ( new FacebookRequest( $session, 'GET', '/me' ) )->execute();
                $user = $request->getGraphObject()->asArray();
                $_SESSION['fb']=$id=$user['id'];
                $_SESSION['fb_username']=$user['name'];
                $logoutURL = $helper->getLogoutUrl( $session, 'https://sharebulk.com/profile/disconnect.php' );?>       
                        <div class="col-sm-5 " >
                            <div style="  margin-left: 20%;" >
                                <img src="../images/facebook-icon.png" height="51px" width="69px">

                            </div >
                            <p>
                                <a href="<?php echo $logoutURL ;?>" class="btn btn-xlarge btn-facebook ">DisConnect  </a>
                            </p>
                        </div>
                <?php } else {
                    $loginUrl = $helper->getReRequestUrl(["public_profile", "user_managed_groups","publish_actions","email","user_posts","user_photos",
                                                "publish_pages", "manage_pages","user_birthday","user_status","read_stream"]);?>
                            <div class="col-sm-5 " >
                                    <div style="  margin-left: 20%;" >
                                        <img src="../images/facebook-icon.png" height="51px" width="69px">
                                    </div >
                                    <p>
                                        <a href="<?php echo $loginUrl ;?>" class="btn btn-xlarge btn-facebook ">Connect Facebook</a>
                                    </p>
                            </div>
            <?php }  ?>     

In image facebook account is connected

在logout.php中: -

                <?php 
                session_start(); 
                unset( $_SESSION['uid']);
                header('Location:index');

            ?>

此处$ _SESSION [&#39; uid&#39;]是用户登录的电子邮件ID(使用电子邮件登录)。

如何管理Facebook会话,以便用户从我的网络应用程序注销,如果用户再次登录,那么Facebook会话应该在那里,直到用户断开连接,从表示仪表板。我正在使用PHP。

由于

1 个答案:

答案 0 :(得分:1)

您是否正在寻找Long Lived会话,您可以将长期会话保存到您的数据库中,当用户连接回来时,您可以使用相同的长期会话将他连接回Facebook ..我希望这些链接可以帮助您< / p>