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.


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

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


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 :-)



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!


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.


¡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.


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

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


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/


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 :)



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


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!


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.


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í ...


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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.