2012-12-17 43 views
0

我有一個登錄頁面,將根據他們的Facebook登錄信息,用戶登錄到Web應用程序我。每次都創建Facebook對象?

我然後創建一個會話要記住他們是誰。

我想知道的是,我應該創建和/或檢查我的web應用程序的每一個頁面上的Facebook憑證,或者我應該簡單地使用我創建會話之初登錄?

例如,一旦已經登錄,我想,讓他們從我的應用程序發佈消息到自己的Facebook牆上。我應該在通過重新創建facebook對象發佈之前檢查登錄憑證,還是應該簡單地使用我的會話中已存儲的登錄詳細信息並將其用於發佈到他們的Facebook牆上?

UPDATE:

所以基本上,我應該使用下面的代碼,因爲我想要做的事的Facebook相關的每一次每一個模板,像後他們的牆上,登錄等等等等?

<?php 

    session_start(); 

    # The facebook library 
    require_once("facebook.php"); 

    # Create facebook object 
     $config = array(); 
     $config['appId'] = 'appId goes here'; 
     $config['secret'] = 'secret goes here'; 
     $config['fileUpload'] = false; // optional 

     $facebook = new Facebook($config); 

    # Check if user has active facebook session 
    $user_id = $facebook->getUser(); 

     if ($user_id) { 

      try { 

       // do something here 

      } catch (FacebookApiException $e) { 

       error_log($e); 
       $user_id = null; 

       exit; 

      } 

     } else { 

      $loginUrl = $facebook->getLoginUrl(); 
      header("Location: ".$loginUrl); 
    } 

?>

回答

1

我會檢查用戶在每次請求,以防萬一你有脆弱代碼,允許用戶創建會話自己。

+0

只是爲了確認,我上面添加了一些模板代碼。我應該每次都使用它嗎? – oshirowanen

+0

是的,就好像用戶的會話因任何原因已經失效一樣,然後他們會被提示重新登錄,否則你的應用將會照常執行。 –

0

我會檢查每個請求的用戶。如果你想通過facebook api發帖,你需要有一個有效的facebook access_token。如果您檢查每一頁(與JS SDK合併),那麼該用戶將被再次簽了回來到您的網站,而不是你得到一個訪問令牌錯誤,不必問他們再次登錄

+0

爲了確認,我在上面添加了一些模板代碼。我應該每次都使用它嗎? – oshirowanen

相關問題