Facebook-PHP SDK 3.0: как сохранить сеанс в базе данных, когда пользователь вошел в систему и предоставил доступ? - PullRequest
0 голосов
/ 14 июня 2011

Я использую Facebook PHP SDK 3.0

Я хотел бы знать, как я могу сохранить сеанс пользователя в базе данных, чтобы после того, как пользователь предоставил доступ и вошел в систему, я мог сохранить токены доступав базе данных и использовать его в следующий раз, чтобы пользователю не нужно было снова входить в систему.Прямо сейчас я использую следующий код

 $facebook = new Facebook(array(
            'appId' => APP_ID,
            'secret' => SECRET,
            'cookie' => true
            ));
        $user = $facebook->getUser();

         if(!$user)
        {
             $loginUrl = $facebook->getLoginUrl();

             echo anchor($loginUrl,"login");
        }

        //print_r($_SESSION);
        $user = $facebook->getUser();

        if($user)
        {
            try 
            {
                // Proceed knowing you have a logged in user who's authenticated.
                $user_profile = $facebook->api('/me');
                //print_r($user_profile);
            } 
            catch (FacebookApiException $e) 
            {
                error_log($e);
                $user = null;
            }
        }

Любая помощь приветствуется спасибо

1 Ответ

0 голосов
/ 14 июня 2011

Срок действия ключей доступа к Facebook истекает через некоторое время. Даже если вы сохраните их, и срок их действия еще не истек, они не будут работать, если пользователь не вошел в систему. Если вы хотите получить доступ к учетной записи Facebook, когда пользователь не в сети, вам необходимо разрешение «offline_access».

...