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 .
¿Cómo la gente por lo general con el trabajo en el desarrollo de OAuth cosas si todos ellos parecen requerir un no-desarrollador y no locales entornos conexiones?
Respuestas:
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 el navegador emite la solicitud de devolución de llamada, como respuesta de redireccionamiento HTTP, puede configurar su archivo .hosts o equivalente para señalar un dominio que no sea
localhost
127.0.0.1.Digamos por ejemplo, se registra la siguiente devolución de llamada con Twitter:
http://www.publicdomain.com/callback/
. Asegúrese de quewww.publicdomain.com
apunta a 127.0.0.1 en su archivo de hosts, y que Twitter puede realizar 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 se 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 desde esta pregunta: Twitter oAuth callbackUrl - desarrollo localhost .
Para citar el artículo:
Esto debería ser más fácil que jugar 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.
Edición de PS: (Nov '18): el acortador de enlaces de Google dejó de dar soporte para localhost o 127.0.0.1.
fuente
.me
) en las URL de redireccionamiento. Como resultado, lvh.me no estaba funcionando. En su lugar, he encontrado el éxito con lacolhost.com .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.
fuente
También puede usar ngrok: https://ngrok.com/ . Lo uso todo el tiempo para tener un servidor público ejecutándose en mi host local. Espero que esto ayude.
Otras opciones que incluso proporcionan su propio dominio personalizado de forma gratuita son serveo.net y https://localtunnel.github.io/www/
fuente
./ngrok http 8080 -host-header="localhost:8080"
y estaba ejecutando con una URL pública.Google no permite probar la API de autenticación en localhost usando
http://webporject.dev
o.loc
y .etc y el enlace corto de google que acortó su url local (http://webporject.dev
) tambiénbit.ly
:). Google acepta solo la URL que comienzahttp://localhost/
...si quieres probar la API de autenticación de Google, debes seguir estos pasos ...
si usa
openserver
vaya al panel de configuración y haga clic enaliases tab
y haga clic en el menú desplegable y luego búsquelolocalhost
y selecciónelo.ahora debe elegir la carpeta raíz del proyecto web local haciendo clic en el siguiente menú desplegable que se encuentra junto al primer menú desplegable.
y haga clic en un botón llamado
add
y reinicie opensever.ahora su proyecto local disponible en este enlace
http://localhost/
también puede pegar esta url local a la API de autenticación de Google en elredirect url
campo ...fuente
Puede editar el archivo hosts en Windows o Linux Windows: C: \ Windows \ System32 \ Drivers \ etc \ hosts Linux: / etc / hosts
después de terminar sus pruebas, simplemente comente la línea que agrega para deshabilitarla
fuente
Para usuarios de Mac, edite el
/etc/hosts
archivo. Tienes que usarsudo vi /etc/hosts
si es de solo lectura. Después de la autorización, el servidor oauth envía la URL de devolución de llamada, y dado que esa URL de devolución de llamada se representa en su navegador local, la configuración de DNS local funcionará:fuente
Tomando Google OAuth como referencia
En su pestaña de cliente OAuth
(http://localhost:3000)
a Autorizados orígenes de JavaScript URIEn su pantalla de consentimiento de OAuth
mywebsite.com
a dominios autorizadosEdite el archivo de hosts en Windows o Linux
Windows C:\Windows\System32\Drivers\etc\hosts
Linux : /etc/hosts
para agregar127.0.0.1 mywebsite.com
(NB Comente alguno si hay algún otro 127.0.0.1)fuente