Авторизация Facebook запускает цикл перенаправления - PullRequest
1 голос
/ 17 февраля 2012

Я использую код холста приложения Facebook в документации, и он продолжает перенаправлять после нажатия «Разрешить». Не уверен, что не так. Проверьте, если это ошибка, или это только у меня. Это из http://developers.facebook.com/docs/appsonfacebook/tutorial/

<?php 

 $app_id = ""; //Added my app id

 $canvas_page = ""; //Added my canvas page

 $auth_url = "http://www.facebook.com/dialog/oauth?client_id=" 
        . $app_id . "&redirect_uri=" . urlencode($canvas_page);

 $signed_request = $_REQUEST["signed_request"];

 list($encoded_sig, $payload) = explode('.', $signed_request, 2); 

 $data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);

 if (empty($data["user_id"])) {
        echo("<script> top.location.href='" . $auth_url . "'</script>");
 } else {
        echo ("Welcome User: " . $data["user_id"]);
 } 
?>

1 Ответ

0 голосов
/ 17 февраля 2012

я рекомендую использовать php Sdk, он сделает все для вас проще и код для входа будет выглядеть так:

<?php
include_once('src/facebook.php');
$config = array(
    'appId' => 'xxxxxxxxxxxx',
    'secret' => 'xxxxxxxxxxxxxxxx',
    'fileUpload' => FALSE, // optional
  );
$canvas_page = ""; //Added my canvas page

 $auth_url = "http://www.facebook.com/dialog/oauth?client_id=" 
        . $app_id . "&redirect_uri=" . urlencode($canvas_page);

$uid=$facebook->getuser();
if(empty($uid)){ echo("<script> top.location.href='" . $auth_url . "'</script>");}
else { echo ("Welcome User: " . $uid);}
...