152 votes

Message de connexion à Facebook : "URL bloquée : Cette redirection a échoué car l'URI de redirection n'est pas sur la liste blanche dans les paramètres OAuth du client de l'application."

Avis important :

Si vous vous inscrivez pour le test, allez dans les paramètres de votre profil et dans la rubrique intérêts ajouter supprimer le profil .

J'essaie de me connecter avec Facebook à mon site web :

Je reçois l'erreur suivante :

URL bloquée : Cette redirection a échoué parce que l'URI de la redirection n'est pas pas sur la liste blanche dans les paramètres OAuth du client de l'application. Assurez-vous que Client et et Web OAuth sont activés et ajoutez tous vos domaines d'application en tant qu'URI de redirection OAuth URIs de redirection valides.

Mon settings (Basics) dans Facebook sont :

Dans l'onglet avancé, Valid OAuth redirect URIs est réglé sur :

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

L'application est public .

Plus de paramètres (avancés) ici : enter image description here

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

0 votes

Quelle est votre ROOT_URL ?

0 votes

Quelle url utilisez-vous pour rediriger vers la page de connexion de Facebook ? Vous devez toujours spécifier le redirect_uri dans la demande d'autorisation.

0 votes

@aedm : ROOT_URL a pour valeur http://openstrategynetwork.com

123voto

andymel Points 474

Comme l'écrit l'auteur de la question

Dans l'onglet avancé, Valid OAuth redirect URIs est réglé sur : ...

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

Ce n'est PAS

Settings -> Advanced -> Share Redirect Whitelist

mais

Facebook Login -> Settings -> Valid OAuth redirect URIs

Ça m'aurait évité deux heures d'essais et d'erreurs.

16 votes

Les personnes qui votent à la baisse : veuillez ajouter un commentaire sur vos préoccupations, sinon la réponse ne s'améliorera pas.

8 votes

Seigneur, j'ai passé tellement de temps à chercher au mauvais endroit, merci.

0 votes

En essayant d'ajouter un nouvel URI, j'obtiens : New HTTP Redirect URIs are not allowed :(

93voto

Edward Jiang Points 1553

Le bouton de connexion avec Facebook sur 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

Cela devrait fonctionner. 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 mettiez les URI de redirection sur une liste blanche, car sinon les gens pourraient se connecter avec Facebook pour votre service, et ensuite envoyer leur jeton d'accès au serveur d'un attaquant ! Et vous ne voulez pas que cela se produise ;]

4 votes

Qu'est-ce qu'un URI de redirection OAuth ? Je m'attendrais à ce qu'il s'agisse de la même URL que l'application Web racine.

2 votes

Cela semble fonctionner. Bien que je ne sois pas sûr que ce ne soit pas le cas à l'origine car j'essayais de me connecter avec le compte sous lequel j'ai créé l'application. J'ai mis en œuvre cette solution, et utilisé un compte différent et cela a fonctionné (apparemment). Le langage et les informations sur les URI de redirection d'oAuth doivent être clairs. L'information est assez ésotérique et presque obscure. Les termes utilisés ne sont même pas définis ou clarifiés.

0 votes

Merci beaucoup, cela a résolu mon problème ! même si le ssl fonctionne.

29voto

Umar Asghar Points 982

Cela a marché pour moi.

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

J'ai obtenu que de mon navigateur après avoir cliqué sur le bouton Facebook, votre navigateur sera redirigé vers un lien pour l'intégration avec l'API de Facebook, donc où vous aurez cette redirection. Dans mon cas, le lien était le suivant, 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

0 votes

Pour mon application MVC, j'ai dû ajouter "/signin-facebook" à l'url.... merci pour cette merveilleuse astuce !

1 votes

Vous sauvez mes semaines @Umar Asghar

12voto

Sumith Harshan Points 1395

Assurez-vous que " Domaine de l'application " et Facebook Login => URIs de redirection OAuth valides . Là, vous devez vérifier www ou sans www . Il est préférable d'utiliser avec www ou sans www pour toutes les URL dans les fichiers php, html, css et les paramètres de l'application Fb.

Par ailleurs, si vous utilisez la terminaison "/" des URL, vous devez ajouter cette URL aux paramètres de l'application dans le champ URIs de redirection OAuth valides . Exemple:- https://www.example.com/index.php/ si vous utilisez cette url dans l'url de redirection, vous devez la définir dans les paramètres de l'application.

J'espère que cela vous aidera.

0 votes

Dans le domaine de l'app vous ajoutez à la fois avec et sans www

0 votes

Que voulez-vous dire par cet ami du poste, je suis un peu confus.

7voto

NIKHIL C M Points 713

Pour mon application Node,

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

put callback Url relative

Mes URI de redirection OAuth sont les suivants

enter image description here

Assurez-vous "/" à l'adresse la fin de l'URI de redirection de l'authentification Facebook

Ces configurations ont fonctionné pour moi.

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