简体   繁体   English

Facebook身份验证不断重定向

[英]Facebook auth keeps redirecting

I want to setup a facebook php post to wall, but after the facebook auth, the code just keep redirecting with different token, can anyone help me? 我想在墙上设置一个Facebook php帖子,但是在执行facebook身份验证后,该代码仅使用不同的令牌进行重定向,有人可以帮助我吗? Thanks very much!! 非常感谢!!

here's my sample url: http://for-winner.com/fff.php 这是我的示例网址: http : //for-winner.com/fff.php

require_once ("fb/src/facebook.php");

$facebook = new Facebook(array(
        'appId' => 'id',
        'secret' => 'secret',
        'cookie' => true
    ));

$attachment = array(
    'message' => 'hello',

  );

$user = $facebook->getUser(); 
if($user == 0) {
    $login_url = $facebook->getLoginUrl($params = array('scope' => "publish_stream"));
    echo ("<script> top.location.href='".$login_url."'</script>");
} else { $token=$facebook->getAccessToken();

    try {
        $ret_obj = $facebook->api('/me/feed', 'POST', $attachment);
    } catch(FacebookApiException $e) {
        $login_url = $facebook->getLoginUrl(array(
                            'scope' => 'publish_stream'
                         )); 
        error_log($e->getType());
        error_log($e->getMessage());
    }  
}

Use this code instead - 使用此代码-

$canvas_page = "https://apps.facebook.com/APP_NAMESPACE/MY_CURRENT_PAGE.php;
$auth_url = "https://www.facebook.com/dialog/oauth?client_id=APP_ID&redirect_uri=" . urlencode($canvas_page)."&scope=publish_stream";
$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 
{
   // you code 
}

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

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