2009-03-03 11 views
4

Quelle est la meilleure façon de garder l'utilisateur connecté lorsque quelque chose comme des cookies «tiers» sont désactivés. J'ai actuellement une application Facebook connect (en PHP seulement) qui fonctionne très bien lorsque j'ai vérifié dans Firefox, mais redirige vers ma page de connexion quand elle n'est pas cochée. Même le propre exemple d'application de Facebook (therunaround) a le même problème avec cette non-cochée, donc je me demande s'il n'y a pas moyen de contourner le problème.Facebook connect et les cookies tiers?

Edit:

@ codege3k

Essayé un tas d'en-têtes P3P. Pas de dés jusqu'ici. J'ai une page de connexion qui redirige vers mon index lorsque l'utilisateur "se connecte" ... le premier chargement, je suis en mesure d'obtenir l'ID utilisateur de get_loggedin_user() mais quand je me rafraîchis, cette fonction renvoie null. Les cookies existent, et quand je reviens à la page de connexion et que je clique sur se connecter à nouveau, cela ne m'indique pas de connexion, donc je sais que ça fonctionne en partie. Avec les «cookies tiers» activés dans Firefox, cela fonctionne comme un charme.

Edit:

Quelle est la meilleure façon de gérer facebook connecter dans le cadre d'un login d'utilisateur, si les cookies tiers ne sont pas largement pris en charge? Devrais-je simplement utiliser la connexion initiale qui fonctionne et définir un cookie local pour mon propre site et l'utiliser au lieu de vérifier l'état de Facebook à chaque fois?

Répondre

3

Ok, la promotion de la session semble fonctionner.

$fbUserId = self::$facebook->get_loggedin_user(); 
if ($fbUserId) 
{ 
    self::$facebook->promote_session(); 
    return $fbUserId; 
} 

Edit:

Alors cela devient la session à chaque demande, mais essentiellement, les cookies tiers doit être activé pour Facebook Connectez-vous à travailler comme prévu. A partir de leurs documents:

Le navigateur de l'utilisateur doit être configuré pour accepter 3rd Party Cookies pour que pour rester connecté entre clics.

Source: http://wiki.developers.facebook.com/index.php/Logging_In_And_Connecting

2

J'ai eu un problème similaire avec les cookies tiers. Vérifiez ce question et voir si elle résout

Il peut être résolu en ajoutant des en-têtes p3p.

0

Donc, le travail ne P3P pour résoudre ce problème pour les navigateurs qui n'acceptent pas les cookies 3ème partie? J'ai commenté un bug de FB au http://bugs.developers.facebook.com/show_bug.cgi?id=5009.

+0

Je n'ai pas vu beaucoup de différence avec les en-têtes P3P. Dans Firefox avec ces "cookies tiers" non sélectionnés, cela ne fonctionne pas, quoi qu'il arrive. Vous pouvez obtenir la valeur initiale de Facebook et définir vous-même un cookie local si nécessaire. – typeoneerror