web-dev-qa-db-fra.com

Message de connexion Facebook: "URL bloquée: cette redirection a échoué car son URI de redirection ne figure pas dans la liste blanche dans les paramètres OAuth du client de l'application"

Avis important:

Si vous vous inscrivez au test, allez dans les paramètres de votre profil et dans votre interest ajoutez delete profile.

Essayer de se connecter avec Facebook à mon site web :

Je reçois l'erreur suivante: 

URL bloquée: cette redirection a échoué car l'URI de redirection n'est pas liste blanche dans les paramètres OAuth du client de l'application. Assurez-vous que Client et La connexion Web OAuth est activée et ajoute tous vos domaines d'application en tant que Valid OAuth Rediriger les URI.

Mes settings (bases) sur Facebook sont:

Dans l'onglet Avancé, Valid OAuth redirect URIs est défini sur:

http://openstrategynetwork.com/_oauth/facebook?close

App est public.

Plus de réglages (avancé) ici:  enter image description here

La clé et le secret de l'application sont corrects. J'utilise Meteor et ses packages de comptes. 

90
Amir Rahbaran

Le bouton de connexion avec Facebook de votre site est lié à:

https://www.facebook.com/v2.2/dialog/oauth?client_id=1500708243571026&redirect_uri=http://openstrategynetwork.com/_oauth/facebook&display=popup&scope=email&state=eyJsb2dpblN0eWxlIjoicG9wdXAiLCJjcmVkZW50aWFsVG9rZW4iOiIwSXhEU05XamJjU0VaQWdqcmF6SXdOUWRuRFozXzc0X19lbVhGWUJTZGNYIiwiaXNDb3Jkb3ZhIjpmYWxzZX0=

Avis: redirect_uri=http://openstrategynetwork.com/_oauth/facebook

Si vous changez plutôt le lien en:

redirect_uri=http://openstrategynetwork.com/_oauth/facebook?close

Ça devrait marcher. Ou, vous pouvez changer le lien Facebook en http://openstrategynetwork.com/_oauth/facebook

Vous pouvez également ajouter http://localhost/_oauth/facebook aux URI de redirection valides. 

Facebook exige que vous ajoutiez la liste blanche des URI de redirection, sinon les utilisateurs pourraient se connecter à Facebook pour votre service, puis envoyer leur jeton d'accès au serveur d'un attaquant! Et vous ne voulez pas que cela se produise;]

59
Edward Jiang

Comme le questionne écrit 

Dans l'onglet Avancé, les URI de redirection OAuth valides sont définis sur: ...

et j'ai eu le même problème (écrire l'URL de redirection dans le mauvais champ de saisie), j'aimerais souligner que 

Ce n'est pas  

Settings -> Advanced -> Share Redirect Whitelist

mais

Facebook Login -> Settings -> Valid OAuth redirect URIs

Cela m'aurait évité 2 heures d'essais et d'erreurs.

43
andymel

Cela a fonctionné pour moi.

redierct_url = http://127.0.0.1:8080/accounts/facebook/login/callback/

Je l'ai reçu de mon navigateur après avoir cliqué sur le bouton Facebook. Votre navigateur sera redirigé vers un lien d'intégration avec l'API de Facebook, d'où vous obtiendrez cette redirection. Pour mon cas, le lien était celui d'où j'ai obtenu le redirect_url.

https://www.facebook.com/dialog/oauth?client_id=...&scope=&response_type=code&state=...&redirect_uri=http://127.0.0.1:8080/accounts/facebook/login/callback/

 enter image description here  enter image description here

15
Umar Asghar

Assurez-vous que "App Domain" et Facebook Login => URI de redirection OAuth valides. Là, vous devez vérifier www ou sans www. C'est mieux si vous utilisez avec ou sans www pour toutes les URL en php, html, fichiers css et les paramètres de l'application Fb.

Autre chose, si vous utilisez "/" à la fin des URL, vous devez ajouter cette URL aux paramètres de l'application URA de redirection OAuth valides . Exemple: - https://www.example.com /index.php/ si cette URL si vous utilisez dans l'URL de redirection, vous devez définir cela dans les paramètres de l'application.

J'espère que ce serait une aide.

9
Sumith Harshan

Pour mon application de nœud, 

"facebook": {
        "clientID" : "##############",
        "clientSecret": "####################",
        "callbackURL": "/auth/facebook/callback/"
    }

put callback URL relative 

Mes URI de redirection OAuth comme suit

 enter image description here

Assurez-vous que "/" at la fin de l'URI de redirection d'authentification de Facebook

Ces configurations ont fonctionné pour moi.

6
NIKHIL C M

Changer de hauth.done = Facebook en hauth_done = Facebook dans les URI de redirection OAuth valides le corrigea pour moi.

3
girlgeek

Ok Tout d’abord, c’est un message d’erreur très clair. Il suffit de regarder autant de développeurs qui manquent cela, y compris mon auto. Regardez la capture d'écran ici s'il vous plaît.

enter image description here

Sous Produits> Identifiant Facebook> Paramètres

ou allez simplement à cette URL ici (Remplacez YOUR_APP_ID par votre identifiant d'application lol):

https://developers.facebook.com/apps/YOUR_APP_ID/fb-login/settings/

Si vous travaillez sur localhost:3000 Assurez-vous d’avoir https://localhost:3000/auth/facebook/callback

Bien sûr, vous ne devez pas avoir le statut en direct (commutateur vert en haut à droite), mais dans mon cas, je suis en train de me déployer vers heroku et vais bientôt remplacer localhost:3000 par https://myapp.herokuapp.com/auth/facebook/callback

Bien sûr, je vais mettre à jour les URL dans Paramètres/Base et Paramètres/Avancé et ajouter une URL de politique de confidentialité dans la section de base.

Je suppose que vous avez correctement configuré les initialiseurs/inventeur.rb si vous utilisez inventé et que vous avez le bon facebook gem 'omniauth-facebook', '~> 4.0' gem installé et gem 'omniauth', '~> 1.6', et que vous avez les colonnes nécessaires dans votre tableau des utilisateurs, telles que uid, image et fournisseur. C'est tout.

1
Elias Glyptis

Nous avons eu le même problème, tel un cauchemar.

  1. Assurez-vous que vos identifiants d’application et vos clés secrètes sont corrects. Si vous utilisez des applications de développement, de stockage intermédiaire et de production distinctes à des fins de test, les ID d'application et les clés secrètes sont tous différents pour chaque application. C'est souvent le problème.

  2. Assurez-vous que l'URL de rappel est correctement définie dans votre fichier de configuration d'application (voir ci-dessous). Et ajoutez ensuite ceci comme même URL sous " Connexion Facebook " paramètres où il est indiqué " URI de redirection OAuth valides ". Cela devrait ressembler à ceci (selon votre environnement):

http://localhost/auth/facebook/callbackhttp://staging.example.com/auth/facebook/callbackhttp://example.com/auth/facebook/callback

  1. Assurez-vous que votre domaine d'application est défini sur le domaine approprié pour chaque environnement, y compris "www" et "no-www". Facebook exige également que ces domaines correspondent à l'URL de votre site Web ou de votre plate-forme d'application. Vous devrez sélectionner " Add Platform " pour ajouter ceci.
0
kaleazy

Dans mon cas, je devais simplement m'assurer que j'avais les URL avec et sans www pour domaine d'application et URL de redirection:

 enter image description here 

Dans mon cas, je devais utiliser: signin-facebook après l'URL de mon site, pour l'URL de redirection.

0
Hooman Bahreini

Login Helper de votre site 

$ loginUrl = $ helper-> getLoginUrl ('xyz.com/user_by_facebook/', $ permissions);

et dans le tableau de bord des applications facebook (sous l'onglet produits: Facebook Login )

Les URI de redirection OAuth valides doivent également être identiques à xyz.com/user_by_facebook/

comme mentionné précédemment en faisant la demande de web

0
zohaib

Dans mon cas, j'intégrais la connexion à Facebook dans un didacticiel de l'application Rails. J'avais ajouté http: // localhost: 3000/adsf à mon adresse URI de redirection OAuth valide, mais l'application Rails ouvrait l'URL sous la forme http://0.0.0.0.03000 et tentait donc de rediriger vers http://0.0.0.0:3000/asdf . Après avoir ajouté http://0.0.0.0:3000/asdf à l'URI de redirection OAuth valide ou navigué vers http: // localhost: 3000/asdf , le système a fonctionné comme prévu.

0
jausel

Dans mon cas, l'URI, tel qu'il était défini sur FB, était correct, mais j'utilisais Spring Security et ajoutait ; jsessionid = 0B9A5E71DAA32A01A3CD351E6CA1FCDD à mon adresse URI, ce qui a provoqué la non-concordance.

https://m.facebook.com/v2.5/dialog/oauth?client_id=your-fb-id-code&response_type=code&redirect_uri=https://localizator.org/auth/facebook;jsessionid=0B9A5E71DAA32A01A3CD351E6CA1FCDD&scope=email&state=b180578a-007b-48bc-bd81-4b08c6989e18

Afin d'éviter la réécriture d'URL, j'ai ajouté disable-url-rewriting = "true" à la configuration de Spring Security, de cette façon:

<http auto-config="true" access-denied-page="/security/accessDenied" use-expressions="true"
      disable-url-rewriting="true" entry-point-ref="authenticationEntryPoint"/> 

Et cela a résolu mon problème.

0
lm2a

Essayez d'ajouter http://openstrategynetwork.com/sigin-facebook à l'URL de redirection valide de Client OAuth avec votre propre URL de redirection.

0
Hung Vu