2012-05-04 16 views
67

Estoy tratando de probar los botones de Oauth, pero todos (Facebook, Twitter, LinkedIn) vuelven con errores que parecen indicar que no puedo probarlos o usarlos desde una url local.Oauth: cómo probar con las URL locales?

¿Cómo trabajan normalmente las personas en el desarrollo con cosas oaut si todos parecen requerir un entorno de conexiones no-dev y no locales?

+0

Respondí en algún momento: http://stackoverflow.com/a/10410838/604511 – aitchnyu

Respuesta

69

Actualización de octubre de 2016: Más fácil ahora: use lvh.me que siempre apunta a 127.0.0.1.

respuesta anterior:

Dado que la solicitud de devolución de llamada es emitido por el navegador, como una redirección HTTP de respuesta, puede configurar su archivo .hosts o equivalente para apuntar un dominio que no es localhost a 127,0. 0.1.

Digamos, por ejemplo, que registra la siguiente devolución de llamada con Twitter: http://www.publicdomain.com/callback/. Asegúrese de que www.publicdomain.com apunta a 127.0.0.1 en su archivo de hosts, Y que Twitter puede hacer una búsqueda DNS exitosa en www.publicdomain.com, es decir, el dominio debe existir y la devolución de llamada específica probablemente debería devolver un mensaje de estado 200 si así lo solicita.

EDITAR:

acabo de leer el siguiente artículo: http://www.tonyamoyal.com/2009/08/17/how-to-quickly-set-up-a-test-for-twitter-oauth-authentication-from-your-local-machine/, que estaba vinculado a partir de esta pregunta: Twitter oAuth callbackUrl - localhost development.

Para citar el artículo:

Usted puede utilizar bit.ly, un servicio de acortamiento de URL. Simplemente acorte la URL de [localhost como http // localhost: 8080/twitter_callback] y registre la URL acortada como devolución de llamada en su aplicación de Twitter.

Esto debería ser más fácil que juguetear en el archivo .hosts.

Tenga en cuenta que ahora (agosto '14) bit.ly no permite el reenvío de enlaces a localhost; sin embargo, el acortador de enlaces de Google funciona.

+37

También puede usar http://lvh.me/ que siempre apunta a 127.0.0.1 – McGuireV10

+1

Pensé que el servidor era llamando al callbackurl, y ahora se da cuenta de que oauth usa al cliente como un mensajero y no se establecen conexiones entre los servidores, lo que lo hace mucho más simple. –

+3

Vale la pena señalar que lvh.me es propiedad de un caballero llamado Levi Cook (ver https://gist.github.com/levicook/563675) y es de propiedad privada. Parece un buen tipo pero no es un dominio formal autorizado por una autoridad global, por lo que puede "teóricamente" dejar de funcionar en algún momento. –

1

O puede usar https://tolocalhost.com/ y configurar cómo debe redirigir una devolución de llamada a su sitio local. Puede especificar el nombre de host (si es diferente de localhost, es decir, yourapp.local y el número de puerto). Solo para fines de desarrollo.

Cuestiones relacionadas