Je voulais juste savoir s'il y avait un moyen de développer des applications Facebook dans localhost.
Réponses:
Edit: 15/02/2012 Voici comment utiliser l'authentification FB pour un site Web localhost.
Je trouve qu'il est plus évolutif et pratique de créer une deuxième application Facebook. Si je construis MyApp, j'en créerai un deuxième appelé MyApp-dev.
Website
case sous `` Sélectionnez comment votre application s'intègre à Facebook '' (dans la version récente de Facebook, vous pouvez le trouver sous Paramètres> De base> Ajouter une plate-forme - Ensuite, sélectionnez le site Web)if Rails.env == 'développement' || Rails.env == 'test' Rails.application.config.middleware.use OmniAuth :: Builder faire fournisseur: facebook, 'DEV_APP_ID', 'DEV_APP_SECRET' fin autre # Production Rails.application.config.middleware.use OmniAuth :: Builder faire fournisseur: facebook, 'PRODUCTION_APP_ID', 'PRODUCTION_APP_SECRET' fin fin
Je préfère cette méthode car une fois installée, les collègues et autres machines n'ont pas de configuration supplémentaire.
Bien sûr, vous pouvez, ajoutez simplement l'url localhost (sans "http") dans votre domaine d'application, puis ajoutez votre site_url http://localhost
(avec http)
Mise à jour
Facebook change un peu les choses maintenant, il suffit d'aller dans les paramètres de l'application et dans l'URL du site, il suffit d'ajouter http: //localhost
et de laisser le domaine d'application vide
Voici ma configuration et cela fonctionne bien pour l'API PHP:
domaine d'application
http://localhost
URL du site
http://localhost:8082/
REMARQUE: Depuis 2012, Facebook autorise l'enregistrement de "localhost" en tant qu'URL de retour. Vous pouvez toujours avoir besoin d'une solution de contournement similaire pour d'autres fournisseurs (par exemple, Microsoft One).
Si vous avez besoin d'un vrai nom de domaine enregistré avec Facebook (comme my.really.own.domain.com), vous pouvez rediriger localement les demandes vers ce domaine vers votre machine. L'approche prête à l'emploi la plus simple sur n'importe quel système d'exploitation consiste à modifier le fichier "hosts" pour mapper le domaine à 127.0.0.1 (voir http://technet.microsoft.com/en-us/library/bb727005.aspx#EDAA et https: / /serverfault.com/questions/118290/cname-record-alias-in-windows-hosts-file ).
J'utilise généralement Fiddler pour le faire pour moi (sur Windows avec IIS local) - voir des exemples sur http://www.fiddler2.com/Fiddler/Dev/ScriptSamples.asp .
if (oSession.HostnameIs("my.really.own.domain.com")) {
oSession.host="localhost:80";
}
L'approche des fichiers hôtes des approches ne fonctionne pas avec Visual Studio Development Server car elle nécessite que les URL entrantes soient localhost / 127.0.0.1. Si vous devez travailler avec (ou éventuellement avec IIS express) pour remplacer l'hôte - Utilisation de Fiddler avec IIS7 Express
Avec le nouveau centre de développement, c'est désormais plus simple:
1) Laissez les domaines d'application vides.
2) Cliquez sur Ajouter une plate-forme.
3) L'URL du site doit correspondre au chemin complet de votre hôte local.
4) Enregistrer les modifications
Je viens de découvrir une solution de contournement: vous pouvez rendre votre machine locale accessible en utilisant http://localtunnel.com . Vous devrez (temporairement) modifier certaines URL utilisées dans le code / html de votre application afin que les liens pointent vers le domaine temporaire, mais au moins Facebook peut atteindre votre machine.
Dans les paramètres de base de votre application ( https://developers.facebook.com/apps ) sous Paramètres-> De base-> Sélectionnez comment votre application s'intègre à Facebook ...
Utilisez "URL du site:" et "URL du site mobile:" pour stocker respectivement vos URL de production et de développement. Les deux sites seront autorisés à s'authentifier. J'utilise simplement Facebook pour m'authentifier, donc je n'ai besoin d'aucune des fonctionnalités de redirection de site mobile. Je change généralement le "URL du site mobile:" en mon site "localhost: 12345" pendant que je teste l'authentification, puis je le remets à la normale lorsque j'ai terminé.
Il y a ! Ma solution fonctionne lorsque vous créez une application, mais que vous souhaitez utiliser l'authentification Facebook sur votre site Web. Cette solution ci-dessous n'est PAS nécessaire lorsque vous souhaitez créer une application intégrée à la page FB.
Le fait est que vous ne pouvez pas mettre "localhost" comme domaine dans la page de configuration Facebook de votre application. Raisons de sécurité ?
Vous devez aller dans votre fichier hôte, dans OSX / Linux etc / hosts et ajouter la ligne suivante: 127.0.0.1 dev.yourdomain.com
Le domaine que vous mettez ce que vous voulez. Une erreur est d'ajouter cette ligne: localhost dev.yourdomain.com (au moins sur osx snow leopard ne fonctionne pas).
Ensuite, vous devez vider votre cache DNS. Sous OSX: tapez dscacheutil -flushcache dans le terminal. Enfin, retournez sur le site web des développeurs facebook en ligne, et dans la page de configuration de votre application, vous pouvez ajouter le domaine "dev.yourdomain.com".
Si vous utilisez un programme tel que Mamp, Easyphp ou autre, assurez-vous que le port pour Apache est 80.
Cette solution devrait fonctionner pour Windows car elle possède également un fichier hosts. Néanmoins, autant que je me souvienne, Windows 7 n'utilise plus ce fichier, mais cette astuce devrait fonctionner si vous trouvez un moyen de forcer Windows à utiliser un fichier hosts.
cela fonctionne en juin 2018, même après l'exigence HTTPS. Il semble qu'une application de test ne nécessite pas de https:
créer une application de test: https://developers.facebook.com/docs/apps/test-apps/
puis dans l'application de test, suivez les étapes simples de cette vidéo: https://www.youtube.com/watch?v=7DuRvf7Jtkg
Je pense que vous devriez pouvoir développer des applications en utilisant le serveur Web de développement de Visual Studio: Démarrez une nouvelle application FaceBook sur: http://www.facebook.com/developers/ . Ensuite, définissez les paramètres de l'URL du site et de l'URL du canevas sur l'instance en cours d'exécution de votre site Web, par exemple: http: // localhost: 1062 /
Voici quelques liens qui devraient vous aider à démarrer avec FaceBook:
J'espère que cela t'aides.
Essaye ça ---
https://www.facebook.com/help/community/question/?id=589302607826562
1 - Cliquez sur Applications, puis sélectionnez votre application.
2 - Cliquez sur le bouton Paramètres sur le côté gauche de l'écran.
3 - Dans les paramètres de base, cliquez sur le bouton Ajouter une plate-forme sous la configuration des paramètres.
4 - Sélectionnez Site Web dans la boîte de dialogue de la plateforme.
5 - Entrez votre URL (localhost fonctionne ici).
6 - Dans la saisie de texte Domaines d'application, ajoutez votre domaine qui correspond à celui de l'URL.
7 - Enregistrez vos paramètres.
Supposons que vous ayez enregistré votre application en tant que:
app.domain.com
Il vous suffit de modifier le fichier / etc / hosts en ajoutant
127.0.0.1 dev01.app.domain.com
Ensuite, modifiez votre configuration Apache
ServerName dev01.app.domain.com
et redémarrez apache.
Vous devrez mettre votre URL dans une variable afin de l'utiliser comme paramètre XML sur certains appels:
<fb:login-button registration-url="http://<?=$URL?>/register" />
Je n'ai pas assez de crédit pour commenter la réponse la plus votée, mais au moins dans mon environnement de rails (exécutant 4), rails s est à http://localhost:3000
, pas http://www.localhost:3000
. Quand je l'ai changé en http://localhost:3000
, cela a très bien fonctionné. Pas besoin de modifier un fichier d'hôtes.
Ma solution fonctionne bien dans localhost ..... Pour l'utilisation des URL du site http://localhost/
et pour l'utilisation des domaines d'application localhost/folder_name
Reste tout est identique ....... cela fonctionne bien (bien que son drapeau rouge s'affiche dans le domaine d'application ... L'application fonctionne correctement)
L'application fonctionnera très bien dans localhost: 3000, il vous suffit de spécifier l'adresse https sur laquelle l'application sera active lorsqu'elle sera en mode production.
L'option 2 est de fournir l'url ou votre site Web heroku qui vous permet d'avoir un exemple d'application en mode production.
Dernière mise à jour: vous n'avez pas à donner d'URL si vous la testez en développement. Vous pouvez laisser les champs vides. Assurez-vous que votre application est en mode développement. Sinon, désactivez le statut de live.
Pas besoin de fournir l'URL du site, les domaines d'application ou l'URI oauth de redirection valide.