2012-03-17 346 views
0

我有我的應用程序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"]); 
    } 
?> 

回答

0

對於REDIRECT_URI,你可能想的是設置爲原始請求,而不是你的畫布應用程序只是URL的網頁的URL。

+0

我只這樣做,我原來的畫布頁面位於http://fb.svolze.com並使用wordpress,所以當用戶讀取網站的任何psots時,他會被重定向到應用程序的主頁只要。 – 2012-03-17 18:26:12