CakePHP-Fr.Org

Forum francophone du Framework CakePHP

Vous n'êtes pas identifié.

#1 14-06-2015 18:25:09

TheExcalibur
Forêt noire
Date d'inscription: 30-03-2010
Messages: 137

[RESOLU] Récupérer les exceptions Facebook

Bonjour,

Je suis en train de tester l'identification Facebook pour un nouveau projet avec Cake3. J'arrive à le faire fonctionner le SDK, identification OK, mais j'ai tout de même un soucis.

Je fais des tests pour faire planter l'identification et en cas d'erreur afficher un message particulier. Mais je n'arrive pas à "catch" les erreurs.

Exemple :
  1- Je clique sur le bouton d'identification avec Facebook
  2- Le callback se fait bien
  3- Dans la gestion des applications sur mon compte Facebook, je supprime l'autorisation de mon site
  4- Je rafraîchis la page de mon call-back dans laquelle je vérifie la session facebook avec un $session->validate()

Mais là, il me met un "this authorization code has expired". C'est ce que je cherche, mais je voudrai faire un try/catch de l'exception, or je n'y arrive pas. Il m'affiche directementla page de debug par défaut de cake avec "If you want to customize this error message, create src/Template/Error/error500.ctp". Alors que je voudrai simplement rediriger vers la page de login en cas d'erreur.

Pourriez vous me dire comment faire ? Voici mon code

Code: php

  1. use Facebook\FacebookRedirectLoginHelper;
  2. use Facebook\FacebookRequest;
  3. use Facebook\FacebookSession;
  4. use Facebook\FacebookAuthorizationException;
  5. use Facebook\FacebookRequestException;
  6.  
  7. FacebookSession::setDefaultApplication($app_id, $app_secret);
  8. $helper = new FacebookRedirectLoginHelper($callback_url);
  9. $session_facebook = $helper->getSessionFromRedirect();
  10.  
  11. try {
  12.           $retour = $session_facebook->validate();
  13.           debug('ok');
  14.         } catch (Facebook\FacebookRequestException $e) {
  15.           debug('erreur');
  16.         }

D'avance merci

Dernière modification par TheExcalibur (30-06-2015 18:09:52)

Hors ligne

 

#2 30-06-2015 18:11:30

TheExcalibur
Forêt noire
Date d'inscription: 30-03-2010
Messages: 137

Re: [RESOLU] Récupérer les exceptions Facebook

Bon en fait il fallait que je fasse mon "try" au bon endroit roll

Code: php

  1. try {
  2.           $session_facebook = $helper->getSessionFromRedirect();
  3.            $retour = $session_facebook->validate();
  4.           debug('ok');
  5. } catch (Facebook\FacebookRequestException $e) {
  6.           debug('erreur');
  7. }

Hors ligne

 

#3 01-07-2015 08:25:26

cyberbobjr
Baker
Date d'inscription: 13-07-2010
Messages: 625

Re: [RESOLU] Récupérer les exceptions Facebook

salut,
ah bien oui smile
J'avais pas vu ton post, désolé.
Merci pour ton retour, ça va en aider plus d'un.
Bonne journée.


Développeur freelance et disponible, contactez-moi en privé.
Mon blog CakePHP : http://caketuts.key-conseil.fr

Hors ligne

 

#4 01-07-2015 09:29:32

TheExcalibur
Forêt noire
Date d'inscription: 30-03-2010
Messages: 137

Re: [RESOLU] Récupérer les exceptions Facebook

PS : le SDK de Facebook est quand même bien mieux fichu que l'API de Twitter (même avec le plugin TwitterOAuth) ! wink

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB
Traduction par FluxBB.fr