0

我有一个登录页面,它将根据用户的 facebook 登录详细信息将用户登录到我的 web 应用程序。

然后我创建一个会话来记住他们是谁。

我想知道的是,我应该在我的 web 应用程序的每个页面上创建和/或检查 facebook 凭据,还是应该简单地使用我在开始时创建的会话登录?

例如,一旦他们登录,我想允许他们从我的应用程序将消息发布到他们自己的 Facebook 墙上。我应该在他们通过重新创建 facebook 对象发布之前检查登录凭据,还是应该简单地使用会话中已经存储的登录详细信息并将其发布到他们的 facebook 墙上?

更新:

所以基本上,每次我想做一些与 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);
    }

?>

4

2 回答 2

1

我会在每个请求中检查用户,以防万一您有可能允许用户自己创建会话的脆弱代码。

于 2012-12-17T11:03:46.090 回答
0

我会检查每个请求的用户。如果你想通过 facebook api 发帖,你需要有一个有效的 facebook access_token。如果您检查每个页面(结合 js SDK),那么用户将再次登录到您的站点,而不是您收到访问令牌错误并不得不要求他们再次登录

于 2012-12-17T11:05:17.163 回答