Omniauth Facebook authentification sur localhost
Je suis en train de mettre en place Omniauth comme décrit dans cette Railscast. Alors que cela fonctionne avec Twitter, je suis incapable de le faire fonctionner avec Facebook. J'ai aussi mis en place " http://localhost:3000 "comme siteurl et "localhost" comme domaine, mais encore voir le message d'erreur suivant dans le navigateur:
Invalid redirect_uri: Given URL is not allowed by the Application configuration.
Quelqu'un d'entre vous ont des suggestions sur la façon de résoudre ce problème? Merci à l'avance.
- Je ne pense pas que j'ai ajouté tout de configuration à l'exception de " 0.0.0.0:3000'. Lorsque vous démarrez votre local Rails serveur, l'adresse IP qu'il ne veut il dire que c'est à l'aide?
- Cela dit 0.0.0.0:3000. Ce qui exactement a ajouter dans votre fichier host?
- Je n'ai jamais modifié mon fichier hosts. Il a 127.0.0.1 pour localhost.
Vous devez vous connecter pour publier un commentaire.
Prendre un coup d'oeil à la redirection dans l'URI. Mine de lire localhost:3000 alors, j'ai changé l'URL du Site à "http://localhost:3000/" et ça a fonctionné.
Voici ce qui a fonctionné pour moi.
Maintenant Facebook n'autorise pas la définition du Site de Domaine à une adresse IP, il n'est donc pas possible de définir l'URL du Site à
http://127.0.0.1:3000/
parce qu'alors, Facebook va se plaindre que l'URL ne correspond pas au domaine.Dans votre Facebook App jeu de l':
Lorsque vous accédez à l'application sur votre machine de dev assurez-vous que vous tapez localhost:3000 dans le navigateur. Si vous utilisez 127.0.0.1:3000 OmniAuth utilisera que dans l'url de callback il envoie à Facebook et puis Facebook va lancer l'erreur Ryan mentionne ci-dessus.
- Je passer à http://lvh.me:3000 dans mon navigateur local pour tester facebook localement. Puis dans facebook paramètres de l'application, faire hvg.moi votre domaine.
hvg.moi, c'est un domaine enregistré pointant vers 127.0.0.1 qu'un développeur acheté pour tester les sous-domaines à l'échelle locale.
Essayez d'utiliser
pour le Site URL". Cela fonctionne pour moi. (Aussi, je n'ai rien dans le "Domaine du Site de' champ.)
127.0.0.1
enlocalhost
, peut accorder l'accès à maintenant, merci.Si vous êtes sur OSX, vous pouvez utiliser pow http://pow.cx/ pour renommer localhost
(n'est pas vraiment renommé, il est ajouté)
vous pouvez définir que comme un nom de domaine valide sur facebook.