Volatil3
Volatil3

Reputation: 14988

Facebook connect giving Redirecting Loop

I am getting Redirecting loop and I am yet unable to figure out where am I doing wrong.

Below are my App Settings: enter image description here

config.php

session_start();
//Facebook App Id and Secret
$appID='xxx';
$appSecret='xxxxxxx';

$base_url = "http://localhost/xxx/fbsource/Source3/facebook/";

index.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Login with Facebook</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript" src="js/oauthpopup.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    $('#facebook').click(function(e){
        $.oauthpopup({
            path: 'login.php',
            width:600,
            height:300,
            callback: function(){
                window.location.reload();
            }
        });
        e.preventDefault();
    });
});


</script>
</head>

<body>
<?php 
session_start();
if(!isset($_SESSION['User']) && empty($_SESSION['User']))   { ?>
<img src="images/facebook.png" id="facebook"  style="cursor:pointer;float:left;margin-left:550px;" />
<?php  }  else{

 echo '<img src="https://graph.facebook.com/'. $_SESSION['User']['id'] .'/picture" width="30" height="30"/><div>'.$_SESSION['User']['name'].'</div>';   
    echo '<a href="'.$_SESSION['logout'].'">Logout</a>';




}
    ?>

</body>
</html>

login.php

<?php 

require 'config.php';
require 'lib/facebook/facebook.php';

$facebook = new Facebook(array(
        'appId'     =>  $appID,
        'secret'    => $appSecret,
        ));
//get the user facebook id      
$user = $facebook->getUser();
$base_url = "http://localhost/xxx/fbsource/Source3/facebook/";
if($user){

    try{
        //get the facebook user profile data
        $user_profile = $facebook->api('/me');
        $params = array('next' => $base_url.'logout.php');
        //logout url
        $logout =$facebook->getLogoutUrl($params);
        $_SESSION['User']=$user_profile;
        $_SESSION['logout']=$logout;
    }catch(FacebookApiException $e){
        error_log($e);
        $user = NULL;
    }       
}

if(empty($user)){
//login url 
$loginurl = $facebook->getLoginUrl(array(
                'scope'         => 'email,read_stream, publish_stream, user_birthday, user_location, user_work_history, user_hometown, user_photos',
                'display'=>'popup'
                'redirect_url'=> $base_url."login.php";
                ));


header('Location: '.$loginurl);

}





?>
<!-- after authentication close the popup -->
<script type="text/javascript">

window.close();

</script>

I tested it on both Chrome and IE10

Upvotes: 1

Views: 1227

Answers (1)

Adam Azad
Adam Azad

Reputation: 11297

localhost or 127.0.0.1 is unreachable by Facebook server although It was possible to run Facebook Apps in past on WAMP, LAMP and MAMP (localhost)

But it seems it doesn't work anymore, I faced the same problem while trying to test/debug those files, but the JS SDK works fine everywhere!

Upvotes: 2

Related Questions