ruby-on-rails - rails devise omniauth facebook
¿Cómo puedo agregar localhost: 3000 a Facebook App para desarrollo (8)
Estoy trabajando en una aplicación de Rails 4. En mi computadora portátil, el desarrollo se realiza en localhost:3000
. El dominio real del sitio es roomidex.com
.
¿Cómo puedo configurar una aplicación de Facebook para que funcione en producción y desarrollo?
Aquí está la configuración actual:
App Domains: roomidex.com
Website With Facebook Login:
Site URL: http://www.roomidex.com
Cuando trato de hacer un inicio de sesión de Facebook en localhost: 3000, obtengo este error no sorprendente:
{
"error": {
"message": "Invalid redirect_uri: Given URL is not allowed by the Application configuration.",
"type": "OAuthException",
"code": 191
}
}
Agregar localhost
a los Valid OAuth redirect URIs
en la aplicación de prueba no funcionó para mí, pero sí lo hizo al agregar 127.0.0.1
.
En la página de la aplicación de Facebook, haga clic en "editar aplicación" y luego haga clic en "Avanzado" en la barra de navegación de la izquierda. Luego, para "URI de redirección de OAuth válidos", agregue http://localhost:3000
... o lo que quiera que sea la redirección aceptada.
Facebook ahora requiere que los "URI de redirección de OAuth válidos" sean https.
Para usar https localmente (localhost: 3000), utilicé [ngrok] [1] que le permite usar https al proporcionar un túnel. Para hacer esto:
- Fui a su sitio web y descargué su programa
- Extraje el archivo para el programa
- En mi consola, entré al directorio donde se extrajo ngrok e ingresé ''grok http 3000'' en mi máquina con Windows, otros pueden usar ''./grok http 3000''
- Después de ingresar eso, ngrok proporcionó una dirección https que puse en el campo de URI de redirección válida de OAuth en Facebook
- Luego, inicié mi servidor y pude acceder a él usando esa dirección https en lugar de localhost: 3000
Junio de 2015
Ve a Mis aplicaciones> Configuración> Básico
App Dominios
- localhost
Sitio web
- URL: http://localhost:8888/
- URL móvil: http://localhost:8888/
No funcionó con el puerto 80 o sin ningún puerto, desafortunadamente.
Puede crear una aplicación de prueba que esté conectada a su aplicación principal. En la página Panel o Configuración de su aplicación principal. desplácese hacia abajo y verá "Probar aplicaciones" en el menú que se encuentra en el lado izquierdo de la página. La aplicación de prueba heredará la configuración de la aplicación principal, pero estará permanentemente en modo de desarrollo y tendrá su propia identificación.
Más información sobre las aplicaciones de prueba aquí: https://developers.facebook.com/docs/apps/test-apps/
El protocolo para configurar una aplicación para que funcione en localhost ha cambiado. Después de configurar la aplicación de prueba configurada, se explican los pasos para configurarla para que funcione en localhost:
https://.com/a/24253054/2803458
Simplemente edite su archivo hosts con su dominio que apunta a localhost y debería funcionar bien.
Solo crea dos aplicaciones.
Uno para probar y otro para lanzamiento. No puede suministrar a la aplicación configuraciones de URL separadas.
Tu error es decir
localhost URL no está permitido en la aplicación
Lo sé, FB no dice nada acerca de explicar qué hacer en esos momentos, sin embargo, en lo que a mí respecta, he encontrado una solución.
Básicamente, necesitas incluir en la lista blanca la URL de locahost en tu aplicación
Esto es lo que vas a hacer
- Ir a la página de edición / resumen de la aplicación
- En el cuarto campo de Dominios de aplicación , ya debe tener
roomidex.com
, así que agregue otra direcciónlocalhost
- Las URL mencionadas anteriormente solo son válidas, si cada una de ellas está en pestañas, dónde configuras, cómo se
app integrates with Facebook
tuapp integrates with Facebook
(sitio web con inicio de sesión de Facebook, aplicación en Facebook, web móvil, ...) - Hago esto: puse mi URL funcional, en su caso roomidex.com en el
Website with facebook login
, y mi prueba, URL de localhost , ya sea en laApp on facebook
o en laPage tab