facebook - example - open graph api
Mensaje de inicio de sesión de Facebook: "URL bloqueada: esta redirección falló porque el URI de redireccionamiento no está incluido en la lista blanca en la Configuración de OAuth del cliente de la aplicación". (13)
Noticia importante:
Si se registra para la prueba, vaya a la configuración de su perfil y agregue eliminar perfil a sus intereses .
Intentando iniciar sesión con Facebook en mi website :
Obtuve el siguiente error:
URL bloqueada: esta redirección falló porque el URI de redireccionamiento no está incluido en la lista blanca en la configuración de OAuth del cliente de la aplicación. Asegúrese de que el inicio de sesión de Cliente y Web OAuth esté activado y agregue todos los dominios de su aplicación como URI de redireccionamiento de OAuth válido.
Mis
settings
(básicos) en Facebook son:
- Dominios de la aplicación: openstrategynetwork.com
-
URL del
website
: website
En la pestaña avanzada, los
Valid OAuth redirect URIs
se establecen en:
http://openstrategynetwork.com/_oauth/facebook?close
La aplicación es
public
.
Más configuraciones (Avanzadas) aquí:
La clave y el secreto de la aplicación son correctos. Estoy usando Meteor y sus paquetes de cuentas.
Asegúrese de que " App Domain " y Facebook Login => URI de redireccionamiento de OAuth válidos . Allí debe consultar www o sin www . Es mejor si lo usa con www o sin todas las URL en php, html, archivos css y configuraciones de la aplicación Fb.
Otra cosa es que si está usando el final "/" de las URL, debe agregar esa URL a la configuración de la aplicación de URI de redireccionamiento OAuth válidos . Ejemplo: - https://www.example.com/index.php/ si esta url si la está utilizando en la URL de redireccionamiento, debe configurarla en la configuración de la aplicación.
Espero que esto sea de ayuda.
Ayudante de inicio de sesión de su sitio
$ loginUrl = $ helper-> getLoginUrl (''xyz.com/user_by_facebook/'', $ permisos);
y en el panel de aplicaciones de Facebook (en la pestaña de productos: inicio de sesión de Facebook )
Los URI de redireccionamiento OAuth válidos también deben ser iguales a xyz.com/user_by_facebook/
como se mencionó anteriormente al hacer una solicitud desde la web
Como escribe el interlocutor
En la pestaña avanzada, los URI de redireccionamiento de OAuth válidos se establecen en: ...
y tuve el mismo problema (escribir la URL de redireccionamiento en el campo de entrada incorrecto) Me gustaría resaltar que
No es
Settings -> Advanced -> Share Redirect Whitelist
pero
Facebook Login -> Settings -> Valid OAuth redirect URIs
Me hubiera ahorrado 2 horas de prueba y error.
También debe tener en cuenta que
www.example.com
no es lo mismo que
example.com
.
Agregue ambos formatos a la URL de redireccionamiento.
El cambio de hauth.done = Facebook a hauth_done = Facebook en los URI de redireccionamiento OAuth válidos me lo arregló.
El inicio de sesión con el botón de Facebook en su sitio está vinculado a:
https://www.facebook.com/v2.2/dialog/oauth?client_id=1500708243571026&redirect_uri=http://openstrategynetwork.com/_oauth/facebook&display=popup&scope=email&state=eyJsb2dpblN0eWxlIjoicG9wdXAiLCJjcmVkZW50aWFsVG9rZW4iOiIwSXhEU05XamJjU0VaQWdqcmF6SXdOUWRuRFozXzc0X19lbVhGWUJTZGNYIiwiaXNDb3Jkb3ZhIjpmYWxzZX0=
Aviso:
redirect_uri=http://openstrategynetwork.com/_oauth/facebook
Si, en cambio, cambia el enlace a:
redirect_uri=http://openstrategynetwork.com/_oauth/facebook?close
Deberia de funcionar.
O bien, puede cambiar el enlace de Facebook a
http://openstrategynetwork.com/_oauth/facebook
También puede agregar
http://localhost/_oauth/facebook
a los URI de redireccionamiento válidos.
Facebook requiere que coloque en la lista blanca los URI de redireccionamiento, ya que de lo contrario las personas podrían iniciar sesión con Facebook para su servicio y luego enviar su token de acceso al servidor de un atacante. Y no quieres que eso suceda;]
En mi caso, el URI, como se definió en FB, estaba bien, pero estaba usando Spring Security y estaba agregando ; jsessionid = 0B9A5E71DAA32A01A3CD351E6CA1FCDD a mi URI, por lo que causó la falta de coincidencia.
https://m.facebook.com/v2.5/dialog/oauth?client_id=your-fb-id-code&response_type=code&redirect_uri=https://localizator.org/auth/facebook;jsessionid=0B9A5E71DAA32A01A3CD351E6CA1FCDD&scope=email&state=b180578a-007b-48bc-bd81-4b08c6989e18
Para evitar la reescritura de URL agregué disable-url-rewriting = "true" a la configuración de Spring Security, de esta manera:
<http auto-config="true" access-denied-page="/security/accessDenied" use-expressions="true" disable-url-rewriting="true" entry-point-ref="authenticationEntryPoint"/>
Y solucionó mi problema.
En mi caso, estaba integrando el inicio de sesión de Facebook en un tutorial de la aplicación Rails. http://localhost:3000/adsf a mis URI de redireccionamiento de OAuth válidos, pero la aplicación Rails abriría la URL como http://0.0.0.0:3000 y, por lo tanto, intentaría redirigir a http://0.0.0.0:3000/asdf . Después de agregar http://0.0.0.0:3000/asdf a los URI de redireccionamiento de OAuth válidos, o navegar a http://localhost:3000/asdf , funcionó como se esperaba.
Esto funcionó para mí.
redierct_url = http://127.0.0.1:8080/accounts/facebook/login/callback/
Lo obtuve de mi navegador después de hacer clic en el botón de Facebook, su navegador será redirigido a un enlace para integrarse con la API de Facebook, de modo que obtendrá esa redirección. Para mi caso, el enlace era este de donde obtuve el redirect_url.
Intente agregar website sigin-facebook a la URL de redireccionamiento válida de la Configuración de Client OAuth junto con su propia URL de redireccionamiento.
Ok Primero que nada, este es un mensaje de error muy claro. Solo mira esto, muchos desarrolladores se pierden esto, incluido yo mismo. Echa un vistazo a la captura de pantalla aquí, por favor.
En Productos> Inicio de sesión en Facebook> Configuración
o simplemente vaya a esta url aquí (Reemplace YOUR_APP_ID con su id de aplicación lol):
https://developers.facebook.com/apps/YOUR_APP_ID/fb-login/settings/
Si está trabajando en
localhost:3000
Asegúrese de tener
https://localhost:3000/auth/facebook/callback
Por supuesto, no tiene que tener el estado en vivo (Interruptor verde en la esquina superior derecha), pero en mi caso, me estoy implementando en heroku ahora y pronto reemplazaré
localhost:3000
con
https://myapp.herokuapp.com/auth/facebook/callback
Por supuesto, actualizaré las URL en Configuración / Básico y Configuración / Avanzado y también agregaré una URL de política de privacidad en la sección básica.
Supongo que ha configurado correctamente los inicializadores / devise.rb si está utilizando devise y tiene la
gem ''omniauth-facebook'', ''~> 4.0''
Facebook
gem ''omniauth-facebook'', ''~> 4.0''
gema instalada y la
gem ''omniauth'', ''~> 1.6''
, y tiene las columnas necesarias en su tabla de usuarios, como uid, imagen y proveedor.
Eso es.
Para mi aplicación de nodo,
"facebook": {
"clientID" : "##############",
"clientSecret": "####################",
"callbackURL": "/auth/facebook/callback/"
}
poner devolución de llamada Url relativa
Mi OAuth redirige los URI de la siguiente manera
Asegúrese de que "/" al final del URI de redirección de autenticación de Facebook
Estas configuraciones funcionaron para mí.
Tuvimos el mismo problema, una pesadilla.
-
Asegúrese de que sus ID de aplicación y claves secretas sean correctas. Si está utilizando aplicaciones de desarrollo, preparación y producción separadas para las pruebas, los ID de aplicación y las claves secretas son diferentes para cada aplicación. Este es a menudo el problema.
-
Asegúrese de tener la URL de devolución de llamada configurada correctamente en el archivo de configuración de su aplicación (consulte a continuación). Y luego agregue esto como la misma URL en la configuración de " Inicio de sesión de Facebook " donde dice " URI de redireccionamiento de OAuth válido ". Debería verse así (dependiendo de su entorno):
http://localhost/auth/facebook/callback
http://staging.example.com/auth/facebook/callback
http://example.com/auth/facebook/callback
- Asegúrese de que el dominio de su aplicación esté configurado en el dominio correcto para cada entorno, incluidos "www" y "no-www". Facebook también requiere que estos dominios coincidan con la URL de su sitio web o plataforma de aplicaciones. Tendrá que seleccionar " Agregar plataforma " para agregar esto.