2012-12-17 38 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

相关问题