Nombre de dominio de la aplicación de Facebook cuando se usa localhost

85

De un tutorial aquí:
http://ankurm.com/blog/api/using-localhost-for-facebook-app-development/1091/

Intenté configurar un área de desarrollo local para mi aplicación de Facebook. Pero cuando pongo " http: // localhost: 85 / my_app / " como mi nombre de dominio, Facebook dice

Dominios de la aplicación: " http: // localhost: 85 / app-name / " no debe contener información de protocolo.

Además, cuando pongo "localhost: 85 / my_app /" como mi nombre de dominio, aparece el error:

Dominios de la aplicación: localhost: 85 / my_app / no es un dominio válido.

Sanya Tobi
fuente
6
No creo que lo que quieras actualizar sea el "dominio de la aplicación", sino que lo que quieres actualizar es la "URL del sitio" que se encuentra en: Aplicaciones> Editar aplicación> Configuración> Básico> Sitio web con inicio de sesión de Facebook. Asegúrate de que esté marcada en verde y aparecerá la "URL del sitio". Puede ingresar http: // localhost; no es necesario especificar un puerto, pero la mayoría especifica el protocolo.
Luis Perez
1
No se pudo hacer que localhost funcione en App Domain. Establezca Configuración avanzada | 'URI de redireccionamiento de OAuth válidos' a la URL del host local (http: // localhost: puerto #). Ver github.com/tschellenbach/Django-facebook/issues/376
Joe
También tenga en cuenta que el dominio de la aplicación debe ser localhostpara que acepte el dominio. Intenté con mysite.local y no funcionó. Cambiado Site URL to http://localhost:85/y App Domains to http://localhost:85/luego guardado (dominio de aplicación modificado por FB) para que funcione.
James Lock
Algo más para probar: "En la configuración de Client oAuth, donde dice Use Strict Mode for Redirect URIs, asegúrese de que esté configurado en No y presione guardar". - wp-native-articles.com/blog/news/…
eflat
Requiere HTTPS para iniciar sesión en Facebook. Aún podrá usar HTTP con direcciones de "localhost", pero solo mientras su aplicación aún esté en modo de desarrollo. developers.facebook.com/blog/post/2018/06/08/…
yadavr

Respuestas:

58

Mi solución:

  1. Deje los dominios de la aplicación en blanco
  2. (Productos) Inicio de sesión de Facebook> Configuración
  3. Agregar http://localhost:85/my_app/a la Valid OAuth redirect URIscaja
  4. Guardar cambios
dkonayuki
fuente
6
@Matt Long: No encontré el cuadro URI de redireccionamiento de OAuth válido, ¿se ha eliminado?
Juliano
@MattLong gracias! Lo hice funcionar usando la solución Supasates.
Juliano
1
¡Trabajó para mi! (Febrero de 2018)
Daniel dice Reincorporar a Monica
18/10/2020 Recibo esta advertencia "las redirecciones de localhost se permiten automáticamente solo en el modo de desarrollo y no es necesario agregarlas aquí".
Kick Buttowski
55

Parece que se ha cambiado el protocolo.

Aquí está mi solución (probé el 3 de abril de 2015 y funciona bien):

En Configuración -> pestaña Básico

  1. Dominio de la aplicación: localhost
  2. Haga clic en " + Agregar plataforma " y seleccione " Sitio web ".
  3. URL del sitio: http: // localhost: <puerto> / ( <puerto> es su número de puerto)
  4. Guardar cambios
Supasate
fuente
3
no funciona, s32.postimg.org/4qazo1sl1/…
shershen
4
¡Gracias! Esto funcionó para mí (mayo de 2016). Tenga en cuenta que 127.0.0.1 no funciona.
Milad M
Trabajó para mí junio de 2017
Alaksandar Jesus Gene
¡Trabajos! Diciembre de 2017
Pandarian Ld
44
  1. Deje los dominios de la aplicación en blanco
  2. Ir al sitio web con inicio de sesión de Facebook
  3. Añadir http://localhost:port_number/
  4. Guarde los cambios y vuelva a intentarlo. Para más información visite

http://developers.facebook.com/docs/samples/canvas/ Codificación feliz :-)

PM
fuente
3
developers.facebook.com/docs/opengraph/getting-started - probablemente más relevante
fflyer05
7
No se pudo hacer que localhost funcione en App Domain. Establezca Configuración avanzada | 'URI de redireccionamiento de OAuth válidos' a la URL del host local (http: // localhost: puerto #). Ver github.com/tschellenbach/Django-facebook/issues/376
Joe
2
¿Qué significa "Sitio web con inicio de sesión de Facebook"? ¿Una opción junto a "Dominios de aplicaciones"? Yo no lo veo Agregar la entrada localhost en "Configuración avanzada | URI de redireccionamiento de OAuth válidos" funcionó para mí
Pierre de LESPINAY
Lo hice, todavía aparece el error: "La configuración de la aplicación no permite la URL dada"
Ram Rachum
1
Funcionando bien. Solo quiero comentar que esto solo funciona con 'localhost' como en la respuesta. Intenté con 127.0.0.1:8000 y no funcionó
ePi272314
30

Esto ha cambiado un poco a lo largo de los años, pero acabo de hacerlo funcionar con una aplicación web que estoy ejecutando en localhost. Esto es lo que hice:

  1. Ir a https://developers.facebook.com/apps
  2. Seleccione su aplicación.
  3. Seleccione Configuración> Básico en la barra de navegación de la izquierda.
  4. Haga clic en el botón Agregar plataforma en la parte inferior de la página.
  5. Haga clic en sitio web
  6. Ingrese http://localhost:8080/para la URL del sitio.
  7. Haga clic en el botón Inicio rápido en el extremo derecho de la URL del sitio que acaba de ingresar.
  8. Se abrirá una nueva pestaña. En esa pestaña, desplácese hacia abajo hasta la sección "Cuéntenos sobre su sitio web" y vuelva a ingresar http://localhost:8080/para la URL del sitio.
  9. Haga clic en el botón Siguiente.
  10. Intenté iniciar sesión de nuevo y esta vez funcionó.

¡Buena suerte!

10GritSandpaper
fuente
2
¿Hay alguna forma de utilizar dos dominios? localhost y el dominio utilizado para la producción: /
JCarlosR
No funciona: aún está bloqueado, URL bloqueada: esta redirección falló porque la URI de redireccionamiento no está en la lista blanca en la configuración de OAuth del cliente de la aplicación. Asegúrese de que los inicios de sesión de OAuth web y del cliente estén activados y agregue todos los dominios de su aplicación como URI de redireccionamiento de OAuth válidos.
Nikunj Dhimar
28

Solución de trabajo 2018

Me tomó años darme cuenta de esto, así que voy a compartir mi solución.

Probé todas las respuestas sugeridas, pero nada funcionó para mí, y al final todo lo que tuve que hacer fue ir a https://developers.facebook.com/apps/YOUR_APP_ID/fb-login/settings/ , y agregar mi URL de devolución de llamada completa en el cuadro URI de redireccionamiento de OAuth válido .

En mi caso, al usar ruby ​​on rails, mi URL se ve así http://localhost:3000/user/auth/facebook/callback.

Y justo después de agregarlo, ¡todo comenzó a funcionar! Espero que esto ayude a alguien más a enfrentar este problema.

GuilPejon
fuente
¡Gracias! ¡Sorprendentemente, tiene una solución viable perfecta para el momento actual! Salud.
nakhodkin
si, gracias. Esto funcionó para mí. Añadí localhost: 5001 a la sección: URI de redirección de OAuth válidas y habilitados: Navegador integrado OAuth Login
David John Coleman II
Esto también funcionó para mí. Esta es la solución de trabajo actual. Creé una versión de prueba de mi aplicación para el inicio de sesión de Facebook desde localhost. (¡Hasta que Facebook cambie las cosas de nuevo!)
Red3
3
¡Gracias! AGAVE. Después de agregar eso, apareció este aviso. En marzo, realizaremos una actualización de seguridad en la configuración de su aplicación que invalidará las llamadas de URI que no figuran en el campo URI de redireccionamiento de OAuth válido a continuación. Esta actualización se produce en respuesta a la actividad maliciosa que vimos en nuestra plataforma, y ​​queremos proteger su aplicación o sitio web al requerir un nuevo modo estricto para redireccionar URIs ¿ Parece que comenzaron temprano?
dbinott
1
¡Gracias! También me tomó años (hasta que encontré esta respuesta). El problema es que el error que recibe de FB sugiere que debe agregar su dominio a "los dominios de la aplicación", lo que no tiene nada que ver con el problema real. Gracias por perder mi tiempo otra vez FB :(
Arno van Oordt
11

Esto es lo que solía hacer.

Si está utilizando Windows, debe modificar el archivo de host. La ubicación del archivo host estará en%SystemRoot%\System32\drivers\etc\

Agregue una nueva línea en el archivo host como este

127.0.0.1    localhost.YOUR-SITE-NAME.com

Guarde el archivo de host.

Vaya al panel de control de configuración de aplicaciones de FB y proporcione el localhost.YOUR-SITE-NAME.comcampo de dominio de aplicaciones. Guardar cambios.

Ahora cargue su entorno local como localhost.YOUR-SITE-NAME.comdesde su navegador.

NB: cambie YOUR-SITE-NAME con su nombre de dominio.

kiranvj
fuente
7

Solución de trabajo (agosto de 2018)

Primero, seleccione su aplicación en el panel de desarrolladores .

Luego, asegúrese de que su aplicación esté en modo de desarrollo , ya que permite localhost a través de HTTP. Para hacerlo, haga clic en la palanca situada en la parte superior derecha de la página de su aplicación.

Por último, siga las notas a continuación, ya que podrían causar problemas si se rellenan incorrectamente:

  • Settings > Basic > App Domains debería estar vacío
  • Products > Facebook Login > Settings > Valid OAuth Redirect URIs debería estar vacío
aymericbeaumet
fuente
sigue funcionando? obtengo un error de etiqueta blanca si pongo mi aplicación en modo de desarrollo.
sagar limbu
1
Tengo una versión de la aplicación de prueba de mi aplicación productiva (siempre en modo de desarrollo), borré todos los campos, pero sigo recibiendo el error: OAuthException URI missmatch
Andreas Richter
Cuando su aplicación está en modo de desarrollo, no puede probar ningún punto final que requiera que envíe su aplicación
ricks
Gracias hermano, sí, esto fue difícil de resolver finalmente
Anthony
5

Puede dejarlo en blanco o usar localhost, http://localhost:85/my_app/es la URL

phwd
fuente
sí, sé que es la URL, pero lo que se hizo en el tutorial, y él afirma que funcionó ... por eso lo probé ... por cierto, también probé localhost: 85 pero no funcionó, pero cuando probé localhost solo funcionó ... La razón por la que quería usar: 85 es porque ese es el puerto que usa mi apache ...
Sanya Tobi
El puerto es información de protocolo, no lo necesita para ese campo. Como dice el mensaje: no debe contener información de protocolo.
phwd
dejarlo en blanco hizo el truco. Y una cosa más que no acepta localhostcomo nombre de dominio.
shashwat
3

Cuando escribí ese tutorial en ese momento, el puerto estaba permitido en el dominio de la aplicación. Y de hecho, puedo ejecutar la aplicación con el puerto 81 (servidor wamp). Ahora parece que Facebook no permite el puerto en la URL. Puede utilizar localhosten el dominio de la aplicación.

Actualizaré la información lo antes posible. Estoy tratando de encontrar una solución.

Una solución temporal es usar localtunnel http://progrium.com/localtunnel/

Ankur
fuente
2

Probé esto y me funciona [febrero de 2020]:

  1. Instale ngrok y obtenga su URL https (ejemplo: https://a3asdf23.ngrok.io )
  2. Ir a FB Configuraciones del tablero de la aplicación (Básico) -> en la aplicación Dominios -> añadir https://a3asdf23.ngrok.io, https://ngrok.io.
  3. En la misma página, desplácese hacia abajo, Agregar plataforma (sitio web), configure la URL como https://a3asdf23.ngrok.io. Aún no ha terminado, haga clic en Inicio rápido -> en "Cuéntenos acerca de su sitio web", ingrese la misma URL https://a3asdf23.ngrok.io.
  4. A continuación, vaya a Productos -> Facebook Login -> Configuración -> Configuración de OAuth de cliente -> Válido OAuth redirección URI -> añadir éstos https://a3asdf23.ngrok.io, https://ngrok.io, https://a3asdf23.ngrok.io/{your-redirect-uri}.

Y aquí tienes. Gracias luego :)

Yong Ching
fuente
1

Debe crear un túnel para compartir su localhost; Ngrok es quizás la forma más fácil de hacerlo.

55651909-089b-4e04-9408-47c5bf
fuente
1

https://ngrok.com

Vaya al enlace https://ngrok.com/ para descargar ngrok y extraer ese archivo. Abrir cmd (buscar cmd) Ir al directorio donde se extrae ngrok. Abra ngrok desde la línea de comando, por ejemplo: c: /ngrok/ngrok.exe [puerto] o cd c: / ngrok y luego ngrok 80 (ngrok [puerto]).

ngrok

Tunnel Status                 online
Version                       1.3/1.3
Forwarding                    http://3ahsdfhska.ngrok.com -> 127.0.0.1:80
Forwarding                    https://3ahsdfhska.ngrok.com -> 127.0.0.1:80
Web Interface                 http://127.0.0.1:4040
# Conn                        0
Avg Conn Time                 0.00ms

No OLVIDE asegurarse de que su servidor wamp esté abierto en el mismo puerto ... (cómo verificar -> goto-> wampicon-> apache-> httpd.conf busque el puerto o 80 (predeterminado) use eso para ngrok.exe 80)

http://3ahsdfhska.ngrok.com

será la URL para acceder a su localhost en línea

Abhilash Aruva
fuente
Me gustaría probar ngrok para fowd a mi servlet. Mi servlet se ejecuta en una ruta específica. Por ejemplo: localhost: 8080 / plugins / servlet ¿Cómo puedo instruir a ngrok para que fwd allí?
Jorge Valois
0

Si recibe los errores de protocolo, no solo necesita ELIMINAR Http: // sino que también si hay alguna barra invertida al final de la dirección web, debe eliminarla también o no funcionará. ¡Hice esto y funcionó perfectamente! ¡Holla!

hay una
fuente
0

Echando una solución más a la mezcla:

Configuré mi sitio web según las instrucciones, luego agregué una segunda aplicación (Facebook Canvas) y configuré esa URL en http://localhost:XXXXX. Ahora puedo acceder a FB tanto localmente como en producción.

Matt Cashatt
fuente
0

Desarrollo localmente y uso esta URL: localhost/fb

Luego tuve que agregar un sitio web con la siguiente URL: http://localhost

En App Domains agregué localhost.

Ahora funciona. El único problema que tuve fue que tienes que usar esta URL en todos tus scripts. P.ej

$loginUrl = $helper->getLoginUrl('http://localhost/fb/login-callback.php', $permissions);

No puedes usar 127.0.0.1aquí ...

pruebas
fuente
0

Probé todas las soluciones mencionadas aquí, pero ninguna funcionó.

Lo que resolvió mi problema fue copiar el "URI de redireccionamiento de OAuth" de firebase a la aplicación de Facebook "URI de redireccionamiento de OAuth válidos"

Dejé todos los dominios en blanco

Shaharyar Kirmani
fuente