重定向到登录页面,如果没有登录到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。

+0

我只这样做,我原来的画布页面位于http://fb.svolze.com并使用wordpress,所以当用户读取网站的任何psots时,他会被重定向到应用程序的主页只要。 – 2012-03-17 18:26:12