web-dev-qa-db-fra.com

Oauth - comment tester avec des URL locales?

J'essaie de tester les boutons oauth, mais ils (Facebook, Twitter, LinkedIn) reviennent avec des erreurs qui semblent indiquer que je ne peux pas les tester ni les utiliser à partir d'une URL locale.

Comment les gens travaillent-ils habituellement dans le développement avec oauth s'ils semblent tous avoir besoin d'un environnement de connexion non-dev et non-local?

96
Awesomeness

Mise à jour octobre 2016: Plus facile maintenant: utilisez lvh.me qui pointe toujours vers 127.0.0.1.

Réponse précédente:

Étant donné que la demande de rappel est émise par le navigateur, en tant que réponse de redirection HTTP, vous pouvez configurer votre fichier .hosts ou l’équivalent pour pointer un domaine qui n’est pas localhost à 127.0.0.1.

Supposons par exemple que vous enregistriez le rappel suivant sur Twitter: http://www.publicdomain.com/callback/. Assurez-vous que www.publicdomain.com pointe sur 127.0.0.1 dans votre fichier hosts ET que Twitter puisse effectuer une recherche DNS réussie sur www.publicdomain.com. En d'autres termes, le domaine doit exister et le rappel spécifique devrait probablement renvoyer un message d'état 200 si demandé.

MODIFIER:

Je viens de lire l'article suivant: http://www.tonyamoyal.com/2009/08/17/how-to-quickly-set-up-a-test-for-Twitter-oauth-authentication-from-your -local-machine/ , qui était lié à cette question: Twitter oAuth callbackUrl - développement localhost .

Pour citer l'article:

Vous pouvez utiliser bit.ly, un service de réduction d'URL. Raccourcissez simplement [l'URL de l'hôte local telle que http // localhost: 8080/Twitter_callback] et enregistrez l'URL raccourcie en tant que rappel dans votre application Twitter.

Cela devrait être plus facile que de jouer dans le fichier .hosts.

Notez que maintenant (août '14), bit.ly n'autorise pas le transfert de lien vers localhost; Cependant, le raccourcisseur de liens Google fonctionne.

PS edit: (nov '18): le raccourcisseur de liens Google a cessé de fournir un support pour localhost ou 127.0.0.1.

90
Jon Nylander

Ou vous pouvez utiliser https://tolocalhost.com/ et configurer la manière dont il doit rediriger un rappel vers votre site local. Vous pouvez spécifier le nom d’hôte (s’il est différent de localhost, c’est-à-dire yourapp.local et le numéro de port). À des fins de développement uniquement.

12
Jørgen

Vous pouvez également utiliser ngrok: https://ngrok.com/ . Je l'utilise tout le temps pour faire fonctionner un serveur public sur mon hôte localhost. J'espère que cela t'aides.

4
user4848830

Google n'autorise pas le test de l'API sur localhost avec http://webporject.dev ou .loc et .etc et le lien court Google qui a raccourci votre URL locale (http://webporject.dev) et également bit.ly :). Google accepte uniquement les URL commençant par http://localhost/...

si vous voulez tester google auth api, suivez ces étapes ...

 set new alias

si vous utilisez openserver, allez dans le panneau de configuration et cliquez sur aliases tab, cliquez sur le menu déroulant, puis recherchez localhost et choisissez-le.

maintenant, vous devez choisir le dossier racine de votre projet Web local en cliquant sur le prochain menu déroulant situé en regard du premier.

et cliquez sur un bouton appelé add et redémarrez opensever.

maintenant votre projet local disponible sur ce lien http://localhost/ Vous pouvez également coller cette URL locale dans google auth api dans le champ redirect url ...

0
Akbar Mirsidikov

Vous pouvez éditer le fichier hosts sous Windows ou Linux Windows: C:\Windows\System32\Drivers\etc\hosts Linux:/etc/hosts

la résolution du nom d'hôte local est gérée dans le DNS même.

127.0.0.1 mywebsite.com

une fois que vous avez terminé vos tests, vous commentez simplement la ligne que vous ajoutez pour la désactiver.

127.0.0.1 mywebsite.com

0
ramzihemadou