web-dev-qa-db-fra.com

Redirection vers l'authentification - "Une erreur est survenue. Veuillez réessayer ultérieurement"

Pourquoi ça m'arrive toujours?

Cela se produit après que mon application vérifie la connexion de l'utilisateur et redirige l'utilisateur vers la page d'authentification:

https://www.facebook.com/dialog/oauth?client_id=XXX&redirect_uri=http%3A%2F%2Fexample.com%2Fmyappname%2F&state=YYYYYY&scope=offline_access%2Cpublish_actions

Mais au lieu d’afficher la page d’autorisation, Facebook affiche une page d’erreur avec

Une erreur est survenue. Veuillez réessayer plus tard.

Dois-je effectuer une configuration avant d'essayer d'authentifier mes utilisateurs?

Tout est fait avec PHP en utilisant les classes PHP-SDK.

49
Wanderson Silva

J'ai eu le même problème après avoir changé le domaine de mon site. Bien que j'ai correctement changé le paramètre request_uri et mis à jour les paramètres de mon application avec le nouveau domaine, l'erreur ne cessait de s'afficher. Ensuite, j'ai réalisé que l'ID et l'ID SECRET de mon application Facebook avaient automatiquement changé sans avertissement! Le tout a recommencé à fonctionner avec le nouvel identifiant.

38
albert

J'ai eu le même problème que toi.

Sur la page Applications pour développeurs Facebook, assurez-vous que le mode Sandbox est désactivé.

enter image description here

64
dxit

Cela m’arrivait aussi mais toutes les clés de l’API, les secrets et tout le reste étaient corrects. Ce que j'ai trouvé, c'est que mon application fonctionnait en mode bac à sable. Accédez aux paramètres de votre application dans https://developers.facebook.com/ cliquez sur l'onglet Paramètres avancés et vérifiez si votre application est en mode bac à sable. Si c'est le désactiver, essayez à nouveau. Faites-nous savoir si cela fonctionne.

16
Juank

Je recevais cette erreur parce que je partais de http://mysite.com, mais avait spécifié http://WWW.mysite.com dans mes paramètres Facebook - le www importait ... J'ai finalement résolu le problème en utilisant .httpaccess pour toujours tuer le "www", et en indiquant FB à http://mysite.com

pire. sous-domaine. déjà. : u)

7
case2000

Lorsque vous travaillez avec Dialogues, Facebook fournit un attribut 'show_error', dont la valeur par défaut est no, mais qui peut être défini sur true dans un environnement de développement, ce qui est très utile pour le débogage.

show_error - Si la valeur est true, le code d'erreur et la description de l'erreur seront affichés en cas d'erreur.

Les instructions d'utilisation sont disponibles dans le Docs Facebook .

J'avais débogué "Une erreur est survenue. Veuillez réessayer plus tard." dialogue avant que je trouve cet attribut dans la documentation. Une fois que j'ai commencé à l'utiliser, je pouvais aussi voir le message suivant:

Code d'erreur de l'API: 191

Description de l'erreur de l'API: l'URL spécifiée n'appartient pas à l'application

Message d'erreur: redirect_uri n'appartient pas à l'application.

7
Pete

Pour moi, cela s'est produit parce que "l'utilisateur test" que j'ai créé faisait partie d'une application distincte. J'ai créé un utilisateur test pour CETTE application et tout a bien fonctionné.

Stupide de ma part, je le sais, mais cela pourrait éviter des ennuis à quelqu'un d'autre.

5
James Pelton

J'ai eu le même problème; il s'est avéré que FB nécessite un chaîne appID et non un int ...

//DOESNT WORK:
$facebook = new Facebook(array(
  'appId'  => 147XXXXXXXXXXX,
  'secret' => 'XXXXXXXXXXXXXX',
));

// WORKS:
$facebook = new Facebook(array(
  'appId'  => '147XXXXXXXXXXX',
  'secret' => 'XXXXXXXXXXXXXX',
));
5
JaredBroad

La solution pour moi consiste à activer l'option "Références authentifiées". C'est vraiment réparé après ça.

Fix permissions error

3
FelikZ

Assurez-vous que votre application est configurée pour utiliser l'URL et le domaine appropriés de votre site. C'est peut-être ça.

3
SBerg413

Selon OAUTH Documentation de la boîte de dialogue:

* redirect_uri: L'URL vers laquelle rediriger après que l'utilisateur ait cliqué sur un bouton dans la boîte de dialogue. L'URL que vous spécifiez doit être une URL avec le même domaine de base que celui spécifié dans les paramètres de votre application, une URL Canvas de la forme https: //apps.facebook.com/YOUR_APP_NAMESPACE ... *

Je construis oauth des liens dynamiques pour demander à un utilisateur des autorisations supplémentaires si nécessaire et je me suis rendu compte que, même si vous redirigiez vers https: //apps.facebook.com/YOUR_APP_NAMESPACE vous devez avoir les paramètres de domaine d'application et de site Web définis dans l'administration de votre application. J'ai défini le domaine sur facebook.com et le site Web sur l'URL de la racine de Facebook.

Maintenant, mon lien de dialogue oauth) fonctionne correctement - même en mode bac à sable.

3
Tomas Molnar

J'ai eu ce problème exact sur une application Page Tab et pour la vie de moi ne pouvait pas comprendre quel était le problème. Cela a fonctionné sur ma page de test, mais dès que je l'ai faite vivre, cela ne fonctionnait plus. J'ai finalement trouvé que j'avais résolu le problème en mettant l'URL réelle dans l'onglet de page (i.e. http://www.facebook.com/<"page_name">/app_<"app_id">) dans "URL du site" sous "Site Web". Cela n'a aucun sens. Mais ça a marché :-)

3
Owen Davey

Également eu un problème avec un lien de redirection incorrect: j'avais un lien commençant par "https://apps.facebook.com?myapplication" ... mais après autorisation, la redirection me conduisait à "apps.facebook.com/Myapplication" et par conséquent je recevrais un message décrit ci-dessus: "Une erreur est survenue. Réessayez plus tard." depuis "apps.facebook.com" ... signifie "http://apps.facebook.com/Myapp" et non "HTTPS: //apps.facebook.com /, ..."

La solution: aller dans les paramètres de mon application dans la section développeurs de facebook. Cliqué sur 'Modifier'. Dans le menu de gauche, sélectionnez "Autorisations" (par défaut, le menu est défini sur Basique) et, dans le jeu de paramètres récemment ouvert, modifiez mon "Paramètre de jeton d'authentification" de "Chaîne de requête" en "Fragment d'URL".

Ça a marché! Une fois l'autorisation terminée, les utilisateurs sont dirigés vers "https: //apps.facebook.com/myapp ...".

2
anne

Si tout votre code fonctionne correctement, pour supprimer ce type d'erreur, accédez à Facebook Developers Apps et désactivez mode bac à sable.

2
Suraj

Le problème a été résolu après la mise à jour de 'appID' et de 'secret', puis de la modification du retour à heroku (c'est-à-dire '' git Push heroku master ').

La clé est de ne pas oublier de repousser les modifications au maître heroku. Très facile à négliger si vous avez l'habitude de tester sur localhost.

J'espère que cela t'aides.

2
edwinjue

Une autre erreur possible, si vous copiez directement le code à partir de l'exemple du SDK de Facebook, vous risquez d'obtenir la même erreur malgré le fait que tout soit correct. http://developers.facebook.com/docs/reference/php/

En effet, dans leur exemple, ils ont utilisé des guillemets arrières au lieu de guillemets simples pour la clé du tableau. Le code correct est comme suit.

require_once("facebook.php");

$config = array();
$config['appId'] = 'YOUR_APP_ID';
$config['secret'] = 'YOUR_APP_SECRET';
$config['fileUpload'] = false; // optional

$facebook = new Facebook($config);
2
Sanket Sahu

Pour moi, le problème était que les utilisateurs de Facebook que j'utilisais pour tester l'application n'avaient pas d'adresse électronique confirmée par Facebook.

Mon client avait créé 2 faux comptes sur Facebook et m'avait dit qu'ils ne travaillaient pas. Mais il a oublié de confirmer les adresses e-mail de ces comptes (les e-mails envoyés par Facebook sont allés dans son dossier spam et il ne l'a pas remarqué).

Cela m'a pris des heures pour le trouver, alors j'espère que cela aidera quelqu'un.

À votre santé!

2
Tiago

Réponse pour 2015

Le mode bac à sable est parti.

Procéder à My Apps -> Your App -> Status & Review et remplacez le curseur par oui pour:

Souhaitez-vous que cette application et toutes ses fonctionnalités en direct soient accessibles au grand public?

enter image description here

1
Abram

Je viens de rencontrer ce problème moi-même. Je développe une application en interne, mon hôte est donc "localhost". Il n'était pas évident de définir "localhost" dans la configuration de l'application. Si vous souhaitez développer localement, configurez votre application en procédant comme suit:

  1. Allez à l'endroit où vous gérez votre application Facebook. Spécifiquement, vous voulez être dans "Basic" dans le menu "Settings".
  2. Ajoutez 'localhost' à "App Domain".
  3. Sous "Sélectionnez le mode d'intégration de votre application avec Facebook", sélectionnez "Site Web", puis entrez "http: // localhost /".

Enregistrez et attendez quelques minutes que les informations se propagent, bien que cela ait fonctionné immédiatement pour moi.

1
Me Too

J'avais mis la restriction sur l'application que seule la résidence aux États-Unis pouvait utiliser l'application. Je travaillais du Canada au moment où ce message d'erreur est apparu. Après avoir supprimé la restriction, tout a fonctionné.

1
Chris

Je suis arrivé ici avec un problème similaire et, oui, mon bac à sable a été activé. Je l'ai désactivé et, voila, le problème de connexion est parti. Je dois avertir que ce problème n'affecte pas les développeurs et les administrateurs de site Web, car Facebook permet à ces utilisateurs de voir l'application. Pour cette raison, je ne pouvais même pas croire que les utilisateurs se plaignaient de ne pas pouvoir se connecter, car je pouvais me connecter sans aucun problème.

1
LizardKG

J'ai eu le même problème, et le réparer en ajoutant param & display = touch to url

essayez, cela peut aider

1
Sergey Nikolaev

Vérifiez votre appid et assurez-vous que vous avez mis à jour l'URL de votre site URL du site mobile dans https://developers.facebook.com/

0
shaik

Si vous êtes le développeur d'applications, vous pouvez voir un message d'erreur plus spécifique, mais ce message signifie généralement l'une des deux choses suivantes:

  1. Votre serveur a renvoyé un code d'erreur HTTP (généralement 5xx)
  2. Après vous être connecté, vous avez essayé d'envoyer l'utilisateur à une URL non autorisée par la configuration de votre application (bien qu'en tant qu'administrateur de l'application, vous devriez voir un message d'erreur plus spécifique et un code d'erreur Facebook dans ce cas).
0
Igy

Je sais que vous avez peut-être la réponse, mais ceci est destiné à ceux qui continuent à chercher le moyen de trouver la solution.

Vous pouvez essayer toutes les solutions ci-dessus mais rappelez-vous simplement que supprimez l’application précédente de l’appareil ou du simulateur avant de vérifier une autre solution.

J'ai essayé toutes les solutions, mais je n'ai pas eu de réponse car je ne supprimais pas l'application précédente, mais le nettoyage de la construction ne répond pas à la condition. J'espère que cela aidera quelqu'un. :)

0
mAc

Paramètres> avancé> sécurité> valide oauth URI de redirection

enter image description here

0
Pablo S G Pacheco

Vous devez spécifier http:// dans votre URI REDIRECT.

0
Chris Kirby

Pour moi, le problème était que l'URL de l'application ne correspond pas complètement à l'URL sur laquelle je l'exécutais (c.-à-d. Répertoires différents, même domaine).

0
Click Upvote

J'ai rencontré le même problème et la raison était que mon app was not live et accessible au public.

J'ai ajouté mon identifiant d'email dans l'email de contact sous les onglets de paramétrage pour rendre mon application active (qui était auparavant désactivée pour la rendre active).

Après avoir fait vivre mon application, son dialogue de partage avec l'image, le titre et la description appropriés, avec le nom de l'application en bas, s'affiche.

0
RN Kushwaha

J'avais essayé toutes les réponses mentionnées ici. Mais ça n'a pas marché. Je devais supprimer et créer à nouveau. Je suppose que cela était dû au nouveau "Renvoi authentifié". Si vous avez ajouté des objets Open Graph qui ne sont pas approuvés, cela peut vous donner une erreur.

0
Rahul

J'ai eu cette erreur parce que j'utilisais redirect_url comme paramètre au lieu de redirect_uri.

La page Authentification côté serveur doc dit d'utiliser redirect_url:

https://www.facebook.com/dialog/oauth?
    client_id=YOUR_APP_ID
   &redirect_url=YOUR_REDIRECT_URI
   &scope=COMMA_SEPARATED_LIST_OF_PERMISSION_NAMES
   &state=SOME_ARBITRARY_BUT_UNIQUE_STRING

Mais c'est inexact. Le dialogue OAuth doc dit d'utiliser redirect_uri à la place, ce qui fonctionne, donc je suppose que vous ne pouvez utiliser que l’un et pas l’autre:

https://www.facebook.com/dialog/oauth/?
    client_id=YOUR_APP_ID
    &redirect_uri=YOUR_REDIRECT_URL
    &state=YOUR_STATE_VALUE
    &scope=COMMA_SEPARATED_LIST_OF_PERMISSION_NAMES
0
user456814

La raison dans mon cas était complètement différente. J'essayais d'ouvrir une boîte de dialogue Flux automatiquement après le chargement de la page. Et 9 fois sur 10, il affiche cette erreur. Tout d'abord, j'ai ajouté le paramètre show_error: true Comme suggéré par @Peter Roome, mais cela n'a pas aidé, affichant 104: Invalid signature, Pas du tout descriptif.

Ensuite, j'ai compris la raison. Le code était en $(document).ready fonction jQuery. Et il semble que certains éléments de Facebook n'aient pas encore été chargés au moment où le code devait être exécuté. J'ai déplacé le code dans le bloc $(window).load (exécuté après le chargement de tout le contenu de la page) et le problème a été résolu.

0
Dennis Golomazov

Il n'y a aucune possibilité de résoudre ce type d'erreur. Il est donc préférable d’utiliser votre boîte de dialogue personnalisée comme celle indiquée sur facebook et de poster et rediffuser le message sans vous connecter. Même si vous supprimez votre application de Facebook, vous pouvez demander la connexion et publier un message avec succès.

0
Hetal Modi

J'ai eu le même problème et la cause fondamentale était différente:

J'étais connecté en tant qu'utilisateur test d'une autre application. Par conséquent, je n'ai pas pu autoriser une application qui n'est pas celle pour laquelle l'utilisateur test a été créé.

Lorsque je me suis déconnecté et connecté en tant qu'utilisateur régulier ou utilisateur test pour l'application que j'ai tenté d'autoriser, tout s'est bien passé.

0
yonix

Dans mon cas, il y avait un problème d'âge avec le compte utilisé avec l'application.

Si l'application FB a un contenu alcoolique, les utilisateurs FB âgés de moins de 21 ans émettront une erreur lorsqu'ils essaieront de s'autoriser.

0
Chris