0

Facebook のログイン情報に基づいて、ユーザーを webapp にログインさせるログイン ページがあります。

次に、彼らが誰であるかを思い出すためのセッションを作成します。

私が知りたいのは、webapp のすべてのページで 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 に答える