身份验证后重定向到Facebook页面选项卡
我有一个facebook页面,在那里我添加了我的应用程序标签。我使用来检查用户是否已通过身份验证,或者是否未使用以下代码:-身份验证后重定向到Facebook页面选项卡,facebook,facebook-php-sdk,facebook-apps,facebook-page,facebook-canvas,Facebook,Facebook Php Sdk,Facebook Apps,Facebook Page,Facebook Canvas,我有一个facebook页面,在那里我添加了我的应用程序标签。我使用来检查用户是否已通过身份验证,或者是否未使用以下代码:- <?php $app_id = "MY APP ID"; $canvas_page = "MY CANVAS PAGE"; $auth_url = "https://www.facebook.com/dialog/oauth?client_id=" . $app_id . "&redirect_ur
<?php
$app_id = "MY APP ID";
$canvas_page = "MY CANVAS PAGE";
$auth_url = "https://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("<script> location.href='index.php'</script>");
}
?>
你是对的。重定向uri必须是应用程序“拥有”的URL。这意味着它将列在应用程序设置中
您的画布页面必须使用JavaScript重定向(就像您正在使用的重定向一样)。唯一的区别是您需要记住,您的应用程序正在iframe中运行。您必须更改top的location属性,而不是文档。Top引用页面上最顶层的框架,这是应用程序执行正确重定向的唯一方法
echo "<script language=javascript>";
echo "top.location.href ='".$page_url."';";
echo "</script>";
exit();
echo”“;
echo“top.location.href=”$page_url.“;”;
回声“;
退出();
这很难看,许多人拒绝相信这是正确的方法,但我还没有找到替代方法