【发布时间】:2015-08-15 21:21:44
【问题描述】:
在我的网络应用程序中,用户使用他们的电子邮件 ID 登录,连接用户的 Facebook 帐户、Facebook 上的帖子状态,然后从网站注销(从网站断开 Facebook 帐户有“断开连接”选项),当用户重新登录网站时已连接用户的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 } ?>
在 logout.php 中:-
<?php
session_start();
unset( $_SESSION['uid']);
header('Location:index');
?>
这里 $_SESSION['uid'] 是用户登录的电子邮件 ID(使用电子邮件登录)。
我如何管理 Facebook 会话,所以如果用户从我的网络应用程序中注销并且如果用户再次登录,那么 Facebook 会话应该在那里,直到用户断开表单仪表板。我正在使用 PHP。
谢谢
【问题讨论】:
-
有没有人可以解决这个问题?
标签: facebook session facebook-php-sdk logout