繁体   English   中英

PHP / JavaScript Facebook登录重定向循环

[英]PHP/JavaScript Facebook Login Redirect loop

我正在使用Facebook的PHP SDK进行登录,并且第一次可以正常登录,但是如果您返回到该应用程序,则会陷入重定向循环。

应用程序的流程如下,用户导航至Facebook页面选项卡上的应用程序,如果用户不喜欢该页面,他们将看到一个类似于我们的页面,否则,他们将被重定向到存在以下代码的app.php。

<?php
opcache_reset();
require 'sdk/facebook.php';  // Include facebook SDK file
$facebook = new Facebook(array(
  'appId'  => 'XXXXXX',   // Facebook App ID 
  'secret' => 'XXXXXXXXXXXXXX',  // Facebook App Secret
  'cookie' => true,    
));
$user = $facebook->getUser();
if ($user) {
  try {
    $user_profile = $facebook->api('/me');
    session_start();
          $fbid = $user_profile['id'];           // To Get Facebook ID

  } catch (FacebookApiException $e) {
    error_log($e);
   $user = null;
  }
}
if ($user) {
  $logoutUrl = $facebook->getLogoutUrl(array(
         'next' => 'http:/localhost:8888/logout.php',  // Logout URL full path
        ));
} else {
 $loginUrl = $facebook->getLoginUrl(array(
        'scope'        => 'user_birthday', // Permissions to request from the user
        ));
}
?>
<!DOCTYPE html>
... html stuff
<?php if ($user): ?>
show the goods
<?php else: ?>
redirect to login     
<script>window.top.location.href = '<?php echo $loginUrl; ?>'; </script>
<?php endif ?>
... rest of html page

我读过很多有类似问题的人,但是对于正在发生的事情和原因却找不到可靠的答案。 在此阶段,尚未使用任何JavaScript SDK。

任何帮助将不胜感激!

获取用户数据后添加此代码

 if(!empty($user)) 
{ 
  if(!$user)
{
  exit();
}
  // YOUR FUNCTION
 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM