No se redirecciona a la URL de devolución de llamada al autenticarse en Instagram

Tengo problemas con mi flujo de inicio de sesión en el servidor de Instagram. Estoy usando:

  • passport.js (passport-instagram) en mi servidor Node.js, en el dominio example.com
  • Un simple WebView en mi cliente android.

El problema es que a veces después de escribir las credenciales el cliente no se redirige a la URL de devolución de llamada.

Éstas son las URL vistas desde el cliente cuando todo está funcionando:

  • Https://example.com/auth/instagram : el usuario visita mi servidor y es redirigido a instagram

  • Https://api.instagram.com/oauth/authorize/?response_type=code&redirect_uri=https%3A%2F%2Fexample.com%2Fauth%2Fredirect%2Finstagram&client_id=XXXXX

  • Https://example.com/auth/redirect/instagram?code=YYYYY : llegamos a la URL de devolución de llamada

Estas son las URL vistas desde el cliente cuando el flujo no funciona:

  • Https://example.com/auth/instagram : el usuario visita mi servidor y es redirigido a instagram

  • Https://api.instagram.com/oauth/authorize/?response_type=code&redirect_uri=https%3A%2F%2Fexample.com%2Fauth%2Fredirect%2Finstagram&client_id=XXXXX : igual que antes

  • Https://www.instagram.com/oauth/authorize/?response_type=code&redirect_uri=https://example.com/auth/redirect/instagram&client_id=XXXXX

  • Https://www.instagram.com/accounts/login/?force_classic_login=&next=/oauth/authorize/%3Fresponse_type%3Dcode%26redirect_uri%3Dhttps%3A//example.com/auth/redirect/instagram%26client_id%3DXXXXX : Aquí escribo mis credenciales

  • Https://www.instagram.com/

Como se puede ver, al final de la conexión, en vez de ser redirigido a mi servidor, termino en https://www.instagram.com/ (con éxito conectado, por cierto).

¿Por qué está pasando esto?

No tengo ni idea. Todo parece bien codificado. Podría ser algún ajuste de Android WebView que tiene que ser ajustado (pero el mismo WebView funciona muy bien con la autenticación con otros proveedores de autenticación), podría ser algún error de configuración de passport.js (pero lo estoy utilizando con éxito para todos los demás proveedores), …

Esto parece ser resuelto dentro de nuestra aplicación ahora. ¿Alguien más todavía está experimentando problemas?

Tener el mismo problema en mi final y lo han replicado en otras aplicaciones en vivo que utilizan Instagram conectar.

He presentado un informe de fallo con Instagram, pero su soporte para desarrolladores es muy mínimo y no estoy seguro de si volveré a escuchar.

Dicho esto, tengo que asumir que esto está afectando a una serie de aplicaciones y no sólo la nuestra, así que espero que estén trabajando en una solución.

  • Error al recuperar el token de acceso de OAuth 2.0 en el emulador de Android
  • Las pestañas personalizadas de Chrome de Android / la API web de Fitbit no se redireccionarán si la aplicación ya está autorizada. (OAuth2.0)
  • Autorización Oauth 2.0 para LinkedIn en Android
  • Android - cómo obtener token de acceso de google plus?
  • ¿Es la mejor práctica para almacenar y usar un token OAuth2 en Android?
  • ¿Es seguro guardar los tokens de acceso / actualización de Oauth2 en las Preferencias compartidas de Android?
  • Oauth 2.0: identificación del cliente y secreto del cliente expuestos, ¿es un problema de seguridad?
  • ¿Cómo evitar mostrar la pantalla de consentimiento en nuestras propias aplicaciones nativas cuando la autenticación externa?
  • ¿Cómo acceder a la nueva API de Gmail desde mi aplicación de Android?
  • Obtención de un código de autorización OAuth2 que se puede compartir con un servidor
  • Android Jtwitter, problemas de autenticación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.