Reputation: 14988
I am getting Redirecting loop and I am yet unable to figure out where am I doing wrong.
Below are my App Settings:
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
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