Permettez-moi de commencer par dire que je cherche une réponse à cette question depuis 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 sois passé de localhost
à un autre nom de domaine (toujours local sur ma machine). Maintenant, l'erreur suivante apparaît.
Impossible de charger l'URL: le domaine de cette URL n'est pas inclus dans les domaines de l'application. Pour pouvoir charger cette URL, ajoutez tous les domaines et sous-domaines de votre application au champ Domaines de l'application dans les paramètres de votre application.
Mon fichier hosts contient 127.0.0.1 photovote.dev
(fonctionne parfaitement)
Ma redirection dans mon application (avec Socialite) est http://photovote.dev/auth/facebook/callback
Dans mes paramètres d'application Facebook ...
photovote.dev
http://photovote.dev/
http://photovote.dev/auth/facebook/callback
L'URL au moment du message d'erreur est ..
Je ne sais plus trop quel est le problème ...
Cela se produit généralement si vous avez entré des informations erronées lors de la création de l'application dans Facebook. Ou avez-vous changé les URL d'une application existante?
Pouvez-vous s'il vous plaît revérifier les paramètres de votre application dans cette page?
https://developers.facebook.com/apps
Sélectionnez la bonne application et cliquez sur le bouton Modifier.
Vérifiez que les URL et les chemins sont correctement entrés et pointent vers le site où vous avez installé le plug-in Ultimate Facebook.
Au cas où quelqu'un tomberait dessus et rechercherait ces paramètres (comme je l'étais)
Vous devez
Informations supplémentaires: Assurez-vous d'ajouter l'URL de rappel similaire à http://localhost:3000
dans le champ Valid OAuth redirect URIs
de la page des paramètres de Facebook Login.
J'ai eu le même problème. Je l'ai résolu en ajoutant mon adresse URI de redirection OAuth en tant qu'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, cela ne fonctionnait pas.
J'espère que ça aide quelqu'un.
Assurez-vous que votre application est publique . Cliquez sur + Ajouter un produit.
URI de redirection OAuth valides: example.com/
Supprimer l'URL de rappel: https://example.com/facebookapp
Voici ce que j'ai fait pour résoudre ce problème:
Fondamentalement:
1) Activez "Connexion au navigateur intégré OAuth"
2) Désactivez "Utiliser le mode strict pour la redirection des URI" et entrez une redirection URI comme je l'ai fait.
3) Laissez tout le reste des options en l'état.
4) Enregistrez vos modifications.
5) Profitez de :)
J'ai eu le même problème, et il venait d'un mauvais identifiant client/id/application Facebook.
Avez-vous basculé votre application Facebook vers "publique" ou "en ligne? Lorsque vous le faites, Facebook crée une nouvelle application avec un nouvel ID d'application.
Vous pouvez comparer la valeur du paramètre "client_id" dans l'URL avec celle de votre tableau de bord Facebook.
La façon dont j'ai résolu le problème: je suis allé dans la zone de texte Valeurs OAuth de redirection correctes et défini l'URL exact, pas uniquement le domaine:
avant: https://my-website.com
après: https://my-website.com/facebookoauth/facebooklogin
(l'URL peut être différent dans votre cas, vérifiez-le dans la barre d'adresse du navigateur).
Cela était dû au paramètre Utiliser le mode strict pour les URI de redirection, qui était verrouillé à la position Oui.
Cliquez sur ici Code Project ! Son exemple de projet Code. Ça fonctionne pour moi
J'ai eu le même problème,
Je viens d'ajouter le lien de mon adresse locale http: //localhost/Facebook%20Login%20Test.html à Site URL
dans les paramètres de mon application https://developers.facebook.com/apps .
Maintenant cela fonctionne bien :) J'espère que cela a été utile;)
La plupart du temps, il ne s’agit pas d’insérer correctement valide l’URL de redirection OAuth dans la section produit du tableau de bord FB. Je suggère de suivre les étapes ci-dessous.
01 .Vérifiez que le réglage de base de l'application est correct avec l'image ci-dessous avec vous
02 .vérifier si vous avez ajouté un produit
Sinon, vous pouvez facilement ajouter un produit de connexion en cliquant sur + sine, comme indiqué dans le paragraphe ci-dessous.
Si oui vient juste de se mettre à l’intérieur du réglage du produit .
03 .La vérification si vous avez fourni une URL de redirection OAuth valide
C’est simple ce qu’il faut après la connexion.Il n’est pas autre que votre appel de rappel URl.Vous pouvez voir dans ma photo ci-dessous que j’ai ajouté plusieurs URL de redirection .
À partir de 2017-10.
Solution qui a résolu mon problème.
Actuellement, ce FB rend cette surprise.
...paramètres de l'application OAuth du client. Assurez-vous que les informations de connexion Client et Web OAuth sont sur ...
Les paramètres à ajuster se trouvent ici https://developers.facebook.com/apps/[votre_app_itentifier FA/fb-login/ .
La barre oblique finale est importante. Ils doivent correspondre dans le code de votre application et dans les paramètres d’administration du FB. Il s'agit donc d'une configuration quelque part dans votre code (voir ci-dessous comment obtenir un nom de domaine pour une application de développement):
{
callbackURL: `http://my_local_app.com:3000/callback/`, // trailing slash
}
et ici
Pour obtenir un nom de domaine pour une application sur un ordinateur Windows local, modifiez le fichier Host
. Les noms personnalisés sont utiles pour éliminer tous ces localhost:8080
, 0.0.0.0:30303
, 127.0.0.0:8000
, etc. Certains services tiers, tels que FB, ne permettent parfois pas d'utiliser les noms 127.0.0.0
.
Sous Windows 10, le fichier hosts
est ici:
C:\Windows\System32\drivers\etc\hosts
Sauvegarder le fichier initial, créer une copie avec un nom différent (ne fonctionne pas dans le CMD Windows natif. J'utilise Git pour Windows , il contient de nombreuses commandes Unix)
$ cp hosts hosts.bak
Ajouter ceci dans hosts
127.0.0.1 myfbapp.com # you can access it in a browser http://myfbapp.com:3000
127.0.0.1 www.myotherapp.io # In a browser http://www.myotherapp.io:2020
Pour vous débarrasser de la partie de port :3000
, configurez NGINX, par exemple.
Rien ne fonctionnait vraiment pour moi, jusqu'à ce que je mette à jour la version du SDK que j'utilisais. J'ai commencé avec 5.0. Même la version 5.4.0 ne fonctionnerait pas non plus. Lors de la mise à jour vers la version 5.6.2, cela fonctionnait parfaitement, même s’il n’y avait rien dans les listes de modifications qui était pertinent!
Impossible de charger l'URL: le domaine de cette URL n'est pas inclus dans l'application domaines. Pour pouvoir charger cette URL, ajoutez tous les domaines et sous-domaines de votre application dans le champ Domaines de l’application dans les paramètres de votre application.
J'avais ce problème aujourd'hui, je trouve que la documentation de Facebook et le SDK sont irrespectueux et arogants envers les autres développeurs, c'est le moins que l'on puisse dire.
En plus d'avoir les "domaines d'application" dans deux emplacements différents sans trop d'informations (3 si vous ajoutez une plate-forme "Web"), vous devez également accéder à produits d'application/facebook login/settings et ajouter votre URL de redirection sous URI de redirection OAuth valides
L'erreur indique RIEN sur les paramètres oauth.
Au cas où cela aiderait quelqu'un d'autre, cela a commencé pour moi sur un site plus ancien lorsque "Valid UA Redirect ORIs" est devenu obligatoire. Le site utilisait toujours le SDK V4 PHP et le problème a été résolu pour moi en mettant à niveau le SDK V5.
Facebook a récemment désactivé le bouton bascule pour 'Utiliser le mode strict pour la redirection d'URI'. Vous devez donc ajouter à l'URI exact ce qui est appelé lorsque vous appuyez sur le bouton de connexion. Pour mon cas, c'était comme sur la capture d'écran. Cela a résolu le problème pour moi :)
Dans la section Domaine de l’application, vous écrivez votre domaine d’application, mais vous devez également ajouter votre domaine de connexion, c’est-à-dire le nom de la page HTML où vous demandez à l’utilisateur de se connecter. Dans mon cas, je le testais sur localhost et la route de connexion était localhost/login. Si je mets seulement http://localhost.com dans la section Domaine de l'application, j'obtiens cette erreur. Mais après avoir ajouté http: //localhost/login.com , l'erreur a été corrigée. ainsi que les paramètres de l'application ont été modifiés dans la version plus récente du SDK, dans laquelle il n'y a aucune option pour la route de redirection OAuth. Vous devez attribuer la route de redirection directement du côté serveur, après avoir réussi à obtenir le jeton OAuth.
Cela a fonctionné pour moi:
Voici l'essentiel à comprendre: Facebook recherchera toujours le domaine "WWW". Assurez-vous donc que www.votre_domaine.dev fonctionne correctement sur votre navigateur.
Il est possible que si vous avez plusieurs hôtes virtuels sur votre serveur local, un autre hôte virtuel remplace " www.votre_domaine.dev ". Alors s'il vous plaît vérifier cela. Apache choisira la PREMIÈRE définition du domaine (ou des ports, ou quelque chose dans ce sens - je ne suis pas un expert en la matière, mais j'ai appris par erreur) . "www.votre_domaine.dev définition de l'hôte virtuel tout en haut du fichier" httpd-vhosts.conf ".
Allez sur " /Apache/conf/https-vhosts.conf " et placez-le tout en haut du fichier:
<VirtualHost *:80>
<Directory "C:/your_app_folder_path/">
Options FollowSymLinks Indexes
AllowOverride All
Order deny,allow
allow from All
</Directory>
ServerName your_domain.dev
ServerAlias your_domain.dev
DocumentRoot "C:/your_app_folder_path/"
</VirtualHost>
###### FOR SSL #####
<VirtualHost *:443>
DocumentRoot "C:/your_app_folder_path/"
ServerName your_domain.dev
ServerAlias www.your_domain.dev
SSLEngine on
SSLCertificateFile "conf/ssl.crt/server.crt"
SSLCertificateKeyFile "conf/ssl.key/server.key"
<Directory "C:/your_app_folder_path/">
Options All
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Suivant: / Si vous utilisez le système Windows, modifiez votre fichier "hôtes" dans "C:\Windows\System32\drivers\etc" en ajoutant deux lignes:
127.0.0.1 your_domain.dev
127.0.0.1 www.your_domain.dev
Suivant: Redémarrez votre serveur Apache et tout devrait fonctionner maintenant.
J'espère que cela vous aidera et vous fera gagner du temps. J'ai perdu presque une journée entière à chercher sur le Web et me tirais les cheveux et je ne trouvais rien qui me soit utile tant que je n'avais pas trouvé cela.
Cette même erreur de Facebook m'est arrivée dans l'environnement de production. La raison était que j'avais 2 applications enregistrées avec Facebook (Local, Production) mais que j'avais codé en dur l'ID de l'application locale dans le code source et que j'avais oublié de le remplacer par l'ID de l'application de production avant le déploiement.
La meilleure pratique dicte que vous ne devriez pas avoir l’ID de l’application codé en dur dans le code source, mais si vous le faites, ne faites pas correspondre les différents identifiants de vos applications Facebook comme je l’ai fait par erreur.
Utiliser mon propre serveur local.
Ajoutant simplement http://localhost/my-site
en tant qu'URL dans:
https://developers.facebook.com/apps/YOUR-APP-ID/fb-login/
a travaillé pour moi.
première étape: utiliser tous https://example.in ou l'URL du certificat ssl, ne pas utiliser http://example.in
deuxième étape: configuration de l'application faceboook-> configuration de base-> ajouter votre domaine ou sous-domaine
troisième étape: Paramètre de connexion de l'application .bo. Faceboook -> URI de redirection OAuth valides -> ajouter votre URL de redirection tout après la connexion
quatrième étape: Paramètre de l’application Faceboook -> Paramétrage avancé -> Gestionnaire de domaine -> Ajouter votre nom de domaine
effectuez toutes ces étapes, puis utilisez votre identifiant d'application, votre version d'application et le secret de l'application pour la configuration.
Le problème et les réponses ne cessent de changer à mesure que FB renforce la procédure de connexion. Aujourd'hui, j'ai commencé à recevoir ce message d'horreur "Le domaine de cette URL n'est pas inclus dans les domaines de l'application. Pour pouvoir charger cette URL, ajoutez tous les domaines et sous-domaines de votre application au champ Domaines de l'application dans les paramètres de votre application."
La réponse était: maintenant, FB veut la totalité de la redirection uri. Donc, pour moi, là où il n’était que https://www.example.com il veut maintenant https://www.example.com/auth/facebook/callback . Cela doit aller dans le champ "URI de redirection OAuth valides" (développeur/login Facebook-> paramètre)