重定向到登录页面,如果没有登录到facebook
问题描述:
我有我的应用程序http://apps.facebook.com/svolzesocial。当你点击链接时,如果你还没有登录Facebook,你仍然可以访问画布。我想避免这种情况。用户必须登录Facebook并且必须被授权使用应用程序。 我发现下面的代码和它的工作正常进行身份验证。但在应用程序中,我使用wordpress,它不允许用户阅读任何文章,它会重定向到主应用程序页面。重定向到登录页面,如果没有登录到facebook
<?php
$app_id = "APP_ID";
$canvas_page = "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"]);
}
?>
答
对于REDIRECT_URI,你可能想的是设置为原始请求,而不是你的画布应用程序只是URL的网页的URL。
我只这样做,我原来的画布页面位于http://fb.svolze.com并使用wordpress,所以当用户读取网站的任何psots时,他会被重定向到应用程序的主页只要。 – 2012-03-17 18:26:12