2010-11-29 27 views
1

J'utilise le PHP SDK pour facebook connecter.Facebook Connect connexion échouant après la déconnexion, quelque chose à voir avec les cookies

Maintenant, je peux connecter les gens à bien en utilisant ceci:

# active session 
$session = $facebook->getSession(); 

if(!empty($session)) { 
    # Active session, try getting the user id (getUser()) and user info (api->('/me')) 
    try{ 
     $uid = $facebook->getUser(); 
     $user = $facebook->api('/me'); 

    } catch (Exception $e){} 

    if(!empty($user)){ 

GET USER DETAILS FROM DATABASE, SET SESSIONS FOR MY SITE ETC 


} else { 

     die("There was an error."); 
    } 

Cependant, lorsque je me connecte sur mon site (qui est juste un simple script de fermeture de session détruire les sessions) et puis essayez de vous reconnecter en utilisant le même script facebook, il déclenche l'erreur, indiquant que $ user est vide. Cela arrive si je reste connecté à Facebook ou si quelqu'un d'autre l'essaie et continue à déclencher l'erreur jusqu'à ce que j'efface les cookies.

Il doit y avoir quelque chose que je suis censé effacer lorsque je me déconnecte ou avant que quelqu'un se connecte avec facebook. Mais la documentation pour Facebook est ridiculement mauvaise et le forum est un véritable chaos.

Remarque, je ne veux pas déconnecter l'utilisateur de facebook, seulement mon site. Mais je ne peux évidemment pas demander à l'utilisateur d'effacer ses cookies chaque fois qu'il veut se reconnecter.

Une aide?

Répondre

0

Au cas où quelqu'un est à la recherche de ce (comme la documentation et le forum facebook sont si absolument terrible) Je viens de changer la valeur setcookie false lorsque vous configurez votre clé secrète, etc.

Cela signifie que l'utilisateur Vous devez vous reconnecter s'ils ont quitté votre site, mais uniquement si vous ne définissez pas vos propres valeurs de session/cookie. Donc, cela fonctionne parfaitement pour ce dont j'avais besoin.