2010-02-23 7 views
1

Je développe l'application iframe facebook avec cakephp. Mon problème est que j'ai besoin d'une autorisation facebook dès que l'utilisateur visite la page d'accueil. Je mets ce code $ user = $ this-> facebook-> require_login(); dans app_controller avant la méthode de filtrage, semble fonctionner avec l'autorisation de l'utilisateur.Autorisation facebook (nécessite une connexion) avec la cause cakephp en boucle session clé auth

mais après que l'utilisateur autorise mon application quitte cadre facebook et aller à la page normale (pas à l'intérieur facebook), et je vois cela sur la barre d'adresse « auth_token = f754dc2ed39b5e2b93f11a6e648f1517 & installé = 1 ».

puis lorsque je clique sur un lien vers une autre page de mon application, il semble que la clé auth_token soit en boucle sur la barre d'adresse.

comment puis-je résoudre ce problème? grâce

Répondre

0

Vous pouvez rediriger le rappel vers une page spécifique qui est mis en place pour gérer les rappels d'autorisation facebook et l'utiliser pour connecter l'utilisateur puis les rediriger vers l'emplacement approprié sur le site (par exemple, page memebers)

1

Vous pouvez faire quelque chose comme:

public function beforeFilter() { 

     $this->fbsession = $this->facebook->getSession();  
     $this->me = null; 

     // Session based API call. 
     if ($this->fbsession) { 
      try { 
       $this->uid = $this->facebook->getUser(); 
       $this->me = $this->facebook->api ('/me'); 
      } catch (FacebookApiException $e) { 
       error_log ($e); 
      } 
     } else { 
      $this->layout = 'login'; 
      $this->viewPath = 'pages'; 
      $this->render('login'); 
     } 
} 

Si l'utilisateur ne loggedIn à Facebook et/ou votre application n'a pas accès, il est redirect à la vue /views/pages/login.ctp. C'est là que vous mettez votre code de connexion (comme dans l'exemple sdk).