Comment déconnecter l'utilisateur de facebook application, mais de maintenir la connexion à partir de facebook

J'ai essayé le SDK PHP (v. 3.1.1), et le SDK Javascript
comme suggéré ici : https://developers.facebook.com/docs/guides/web/

maintenant, lorsque vous essayez de vous déconnecter, j'ai essayé les deux sur FB.logout() ( js )
et $facebook->getLogoutUrl() ;

que la documentation pour les deux clairement de l'état, ces méthodes
déconnecter l'utilisateur de l'application ainsi que leur facebook session.

Mais j'ai seulement besoin de déconnecter l'utilisateur de le facebook de l'application ( le site de test ).

J'ai essayé de déconnecter l'utilisateur de mon site de test, en ignorant le facebook
d'aspect. Mais dans ce cas, lorsque l'utilisateur clique sur le bouton connexion de nouveau,
le processus de connexion ( facebook de l'authentification et de redirection ) ne se fait pas.

J'ai aussi essayé : ( comme suggéré par les précédentes questions non résolues)

$facebook->destroySession();

unset($_SESSION['fb_' . sfConfig::get('app_fb_config_id') . '_code']);
unset($_SESSION['fb_' . sfConfig::get('app_fb_config_id') . '_access_token']);
unset($_SESSION['fb_' . sfConfig::get('app_fb_config_id') . '_user_id']);    

cependant, lors de la redirection vers la page de login, $facebook->getUser() encore
extrait de l'utilisateur.

note :
comme par exemple de la documentation, je suis en utilisant sdk php de connexion à l'utilisateur de mon site de test,
et la js sdk, de restituer et de faciliter l'facebook bouton de connexion.

supplémentaires :

l'authentification que j'utilise est, fondamentalement, ce que suggère la documentation :

<?php

define('YOUR_APP_ID', 'YOUR APP ID');

//uses the PHP SDK.  Download from https://github.com/facebook/php-sdk
require 'facebook.php';

$facebook = new Facebook(array(
  'appId'  => YOUR_APP_ID,
  'secret' => 'YOUR APP SECRET',
));

$userId = $facebook->getUser();

?>

<html>
  <body>
    <?php if ($userId) { 
      $userInfo = $facebook->api('/' + $userId); ?>
      Welcome <?= $userInfo['name'] ?>
    <?php } else { ?>
    <div id="fb-root"></div>
    <fb:login-button></fb:login-button>
    <?php } ?>
    <script>
      window.fbAsyncInit = function() {
        FB.init({
          appId      : '<?= YOUR_APP_ID ?>',
          status     : true, 
          cookie     : true,
          xfbml      : true,
          oauth      : true,
        });

        FB.Event.subscribe('auth.login', function(response) {
          window.location.reload();
        });
      };

      (function(d){
         var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
         js = d.createElement('script'); js.id = id; js.async = true;
         js.src = "//connect.facebook.net/en_US/all.js";
         d.getElementsByTagName('head')[0].appendChild(js);
       }(document));
    </script>
  </body>
</html>
si un utilisateur est authentifié à votre application ET enregistrées dans facebook getUser() retournera toujours la FBID. effacer le cookie fonctionne, mais le sdk d'obtenir un nouveau access_token wenn invoquant getUser la question est de savoir pourquoi vous voulez le faire ? ni vous (l'app), ni le facebook de l'utilisateur gains de rien.
comment parler tout simplement de supprimer le cookie de session que vous avez pour l'utilisateur? Si vous supprimez vos cookies, l'utilisateur reste connecté à facebook, mais pas pour votre application. La prochaine fois que l'utilisateur clique sur le bouton connexion pour vous créer une nouvelle session pour lui.
J'ai essayé tout simplement de supprimer le site de test de la session, mais comme je l'ai dit, dans ce cas, la js sdk du bouton de connexion ne fonctionne plus comme prévu.
pas sûr de ce que vous êtes en train de dire ici, "pourquoi vous voulez faire ça?" . En gros, je veux juste que l'utilisateur soit connecté sur le site et le facebook de l'association éliminé lorsque l'utilisateur se déconnecte. Toutefois, si l'utilisateur décide de se connecter à nouveau, je veux que l'ensemble du processus d'ouverture de session à se comporter comme si une connexion précédente n'avait pas eu lieu.
C'est une autre question, pouvez-vous s'il vous plaît montrer votre code pour l'authentification avec facebook?

OriginalL'auteur Alias | 2012-03-20