web-dev-qa-db-fra.com

Comment puis-je ajouter localhost: 3000 à l'application Facebook pour le développement

Je travaille sur une application Rails 4. Sur mon ordinateur portable, le développement est effectué à localhost:3000. Le domaine réel du site est roomidex.com.

Comment puis-je configurer une application Facebook pour qu'elle fonctionne en production et en développement?

Voici la configuration actuelle:

App Domains: roomidex.com

Website With Facebook Login: 
Site URL: http://www.roomidex.com

Lorsque j'essaie de faire une connexion Facebook sur localhost: 3000, j'obtiens cette erreur sans surprise

{
   "error": {
      "message": "Invalid redirect_uri: Given URL is not allowed by the Application configuration.",
      "type": "OAuthException",
      "code": 191
   }
}
28
Don P

Sur la page de l'application Facebook, cliquez sur "Modifier l'application", puis sur "Avancé" dans le volet de navigation de gauche. Puis, pour "URI de redirection OAuth valides", ajoutez http://localhost:3000... ou le nom de votre choix pour la redirection acceptée.

59
Don P

Vous pouvez créer une application de test connectée à votre application principale. Sur le tableau de bord ou la page Paramètres de votre application principale. Faites défiler l'écran vers le bas et vous verrez "Test Apps" dans le menu situé en bas à gauche de la page. L'application de test héritera des paramètres de l'application principale, mais elle sera en permanence en mode de développement et aura son propre ID. 

Plus d'informations sur les applications de test ici: https://developers.facebook.com/docs/apps/test-apps/

Le protocole permettant de configurer une application pour travailler sur localhost a été modifié. Une fois que vous avez configuré votre application de test, voici les étapes à suivre pour la configurer pour qu’elle fonctionne sur localhost: 

https://stackoverflow.com/a/24253054/2803458

7
Taylor714

Votre erreur dit 

l'URL de l'hôte local n'est pas autorisée dans l'application

Je sais que FB ne veut pas expliquer, que faire à ces moments-là, cependant, pour ma part, j’ai trouvé une solution de contournement.

Fondamentalement, vous devez "ajouter à la liste blanche" l'URL de locahost dans votre application.

Voici ce que vous allez faire

  1. Aller à la page de modification/résumé de l'application
  2. Dans le quatrième champDomaines d'application, vous devriez déjà avoir roomidex.com, ajoutez donc une autre adresse localhost
  3. Les URL mentionnées ci-dessus ne sont valables que si chacune d'elles est placée dans des onglets, où vous définissez, comment vous app integrates with Facebook (site Web avec connexion Facebook, application sur Facebook, Web mobile,…)
  4. Je fais ceci: je mets mon URL de travail, dans votre cas roomidex.com dans Website with facebook login, et mon test, localhost URL, soit dans App on facebook ou Page tab
4
Ivan Hanák

Juin 2015

Allez dans Mes applications> Paramètres> Basique.

Domaines d'applications

  • localhost

Site Web

Cela n'a pas fonctionné avec le port 80 ou sans port, malheureusement.

1
Cadene

L'ajout de localhost au Valid OAuth redirect URIs dans l'application de test n'a pas fonctionné pour moi, mais l'ajout de 127.0.0.1 a fonctionné. 

0
user937284

Facebook exige maintenant que "les URI de redirection OAuth valides" soit https.

Pour utiliser https localement (localhost: 3000), j'ai utilisé [ngrok] [1] qui vous permet d'utiliser https en fournissant un tunnel. Pour faire ça:

  1. Je suis allé sur leur site web et j'ai téléchargé leur programme
  2. J'ai extrait le fichier pour le programme
  3. Dans ma console, je suis allé dans le répertoire où ngrok a été extrait et je suis entré 'grok http 3000' sur ma machine Windows, d'autres utilisateurs peuvent utiliser './grok http 3000'.
  4. Après avoir entré cela, ngrok a fourni une adresse https que j'ai inscrite dans le champ URI de redirection OAuth valide de Facebook.
  5. Ensuite, j'ai démarré mon serveur et j'ai pu y accéder en utilisant cette adresse https au lieu de localhost: 3000
0
yellowreign