311 votes

Facebook OAuth "Le domaine de cette URL n'est pas inclus dans le domaine de l'application".

Laissez-moi d'abord vous dire que j'ai cherché une réponse à cette question pendant un certain temps...

J'essaie de configurer Facebook OAuth pour qu'il fonctionne avec mon application qui est développée localement sur ma machine. Tout fonctionnait parfaitement avec l'autorisation de Facebook JUSQU'À ce que je passe de l'utilisation de l'autorisation de Facebook à celle d'OAuth. localhost vers un autre nom de domaine (toujours local à ma machine). Maintenant, j'obtiens l'erreur suivante.

Impossible de charger l'URL : Le domaine de cette URL n'est pas inclus dans les domaines de l'application. domaines. Pour pouvoir charger cette URL, ajoutez tous les domaines et sous-domaines de votre application de votre application dans le champ Domaines de l'application dans les paramètres de votre application.

Mon fichier d'hôtes contient 127.0.0.1 photovote.dev (fonctionne parfaitement)

Ma redirection dans mon application (utilisant Socialite) est la suivante http://photovote.dev/auth/facebook/callback

Dans les paramètres de mon application Facebook...

  • mon domaine d'application est photovote.dev
  • L'URL de mon site est http://photovote.dev/
  • mes URIs de redirection OAuth valides sont http://photovote.dev/auth/facebook/callback

L'URL au moment du message d'erreur est

https://www.facebook.com/v2.5/dialog/oauth?client_id=XXXXXXXXXXXXXXX&redirect_uri=http%3A%2F%2Fphotovote.dev%2Fauth%2Ffacebook%2Fcallback&scope=email&response_type=code&state=0ztcKhmWwFLtj72TWE8uOKTcf65JmePtG95MZLDD

Je ne sais pas quel est le problème...

Capture d'écran 1
Screen Shot

Capture d'écran 2 enter image description here

3 votes

Salut dangel, vous pourriez vouloir obfusquer votre FB client_id de ce poste

1 votes

@dangel comment avez-vous résolu ce problème ? j'ai le même problème, mais je n'arrive pas à le résoudre.

1 votes

@Ghimire, dans ma situation, j'avais changé l'URL et je n'ai pas mis à jour mon client. \secret. En lisant les solutions ci-dessous, il semble qu'il puisse y avoir plusieurs raisons différentes donnant toutes la même erreur.

250voto

Craig Lambie Points 1909

Au cas où quelqu'un tomberait sur cette page et chercherait ces paramètres (comme moi)

Vous devez

  1. Sur le côté gauche, cliquez sur "+Ajouter un produit" et sélectionnez "Connexion Facebook" (c'était en haut pour moi). en haut pour moi)
  2. Voir les nouveaux paramètres disponibles dans la partie gauche de l'écran.
  3. Vous aurez maintenant ces paramètres OAuth sur ce "Paramètres du produit".

enter image description here

Informations supplémentaires : Assurez-vous d'ajouter l'URL de rappel comme http://localhost:3000 à la Valid OAuth redirect URIs sur la page des paramètres de Facebook Login

38 votes

Ce n'est pas ce à quoi le message d'erreur fait référence. Il existe un message d'erreur spécifique concernant URIs de redirection OAuth valides ce qui n'est pas le cas ici. Le message fait clairement référence aux paramètres " Basic " App Domains. Cependant, le problème est que même si les domaines corrects sont renseignés, le message d'erreur apparaît toujours.

0 votes

@HakamFostok dictionnaire urbain mis à part, les maths règnent en maître sur la signification de LHS/ RHS. fr.wikipedia.org/wiki/Sides_de_une_équation surtout dans le monde du codage.

11 votes

Cela l'a réparé pour moi. Même si j'avais rempli le domaine correctement, je n'avais pas ajouté d'URL de redirection. L'ajout de l'URL de redirection a réglé le problème. Il semble qu'en ce moment, FB envoie le mauvais message d'erreur pour ce problème.

96voto

Lei Lionel Points 747

Cela se produit généralement si vous avez saisi les mauvais détails lorsque vous avez créé l'application dans Facebook. Ou si vous avez modifié l'URL d'une application existante ?

Pouvez-vous vérifier à nouveau les paramètres de votre APP sur cette page ?

https://developers.facebook.com/apps

  1. Sélectionnez la bonne application et cliquez sur le bouton d'édition ;

  2. Vérifiez que les URL et les chemins sont correctement saisis et qu'ils pointent vers le site où vous avez installé le plugin Ultimate Facebook.

5 votes

Je viens de voir ce que vous avez dit à propos de "vous avez changé l'URL d'une application existante", c'est exactement ce qui s'est passé, et je suppose que cela a causé un nouveau client. \secret ID à générer

0 votes

Bonjour, j'essaie également d'implémenter fb oauth dans mon application. J'ai donné tous les détails sur l'application FB. Mais l'erreur suivante apparaît lors de la redirection du callback. InternalOAuthError : Failed to obtain access token at Strategy.OAuth2Strategy._createOAuthError ( D:\node_tutorials\fb\node_modules\passport -oauth2 \lib\strat egy.js:370:17) à D:\node_tutorials\fb\node_modules\passport -oauth2 \lib\strate gy.js:166:45 à D:\node_tutorials\fb\node_modules\oauth\lib\oauth2.js :177:18

0 votes

Une autre chose à essayer qui a fonctionné pour moi : essayez de passer vos callbacks de https à http. Cela implique de modifier le code qui appelle getLoginUrl() et de changer les URL de rappel dans les paramètres de l'application. Pour une raison quelconque, les callbacks n'ont jamais fonctionné avec HTTPS pour moi, bien que le site utilise HTTPS.

68voto

Swoot Points 526

J'ai eu le même problème. Je l'ai résolu en ajoutant mon URI de redirection OAuth comme argument à l'appel de la fonction getAccessToken :

$redirectLoginHelper->getAccessToken("https://www.example.com/myfacebookcallback")

Si aucun argument n'est envoyé dans cette fonction, le SDK génère l'URI de redirection par lui-même, ce qui devrait fonctionner, mais dans mon cas, ce n'était pas le cas.

J'espère que cela aidera quelqu'un.

2 votes

C'est la seule façon dont j'ai pu le faire fonctionner après avoir déplacé mon site web de http à https. Même après avoir modifié tous les domaines dans les paramètres de l'Api Facebook, cela ne fonctionnait pas.

6 votes

Cela devrait être la réponse acceptée. Elle résout le problème !

0 votes

Dans mon cas, l'url elle-même ne doit pas inclure de paramètres vides. Quand je donne "www.example.com?param" à getAccessToken, FB dit toujours que cela ne correspond pas à l'URI que j'ai donné à getLoginUrl, dont je suis absolument sûr qu'il est exactement le même. L'utilisation de "www.example.com" n'entraîne pas une telle erreur.

41voto

Sanjoy Kanrar Points 646

Assurez-vous que votre application est publique. Cliquez sur + Ajouter un produit Allez maintenant dans produits => Facebook Login Faites maintenant ce qui suit :

URIs de redirection OAuth valides : exemple.com/

Deauthorize Callback URL : https://example.com/facebookapp http://unicodeitsolutions.com/

1 votes

Quel est le Deauthorize Callback URL : https://example.com/facebookapp nécessaire pour ? Cela fonctionnera-t-il sans cela ?

0 votes

Deauthorize Callback URL n'est pas obligatoire ... lorsque l'utilisateur désautorise notre application, facebook nous envoie un message par l'url.

26voto

bangbang Points 481

Voici ce que j'ai fait pour résoudre ce problème : enter image description here

En gros :

1) Activer "1) Activer "1) Activer ". Connexion OAuth intégrée au navigateur "

2) Désactiver " Utiliser le mode strict pour les URI de redirection "et entrez une redirection URI comme je l'ai fait.

3) Laissez toutes les autres options telles qu'elles sont.

4) Enregistrez vos modifications.

5) Profitez-en :)

0 votes

Cela a résolu le problème pour moi. Je ne voulais pas rendre mon application publique car je ne faisais qu'un tutoriel et je la testais localement. Merci @bangbang

8 votes

Pour moi, Utiliser le mode strict pour les URI de redirection ne peut pas être désactivé.

2 votes

Après 2019, le mode strict ne pourra plus être désactivé, cette solution ne fonctionnera plus.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X