2012-09-12 13 views
9

Tengo una sola página de la aplicación javascript, y me pregunto si puedo autenticar al usuario en Instagram sin actualizar la página. Me gustaría tratar de hacer algo similar a la conexión de Facebook utilizando javascript, donde se abre un cuadro de diálogo de Facebook en una ventana emergente y luego llama a un script de devolución de llamada.OAuth (Instagram) sin actualizar

Aquí es lo que estoy pensando que iba a hacer ...

  1. al hacer clic, se abre una ventana de diálogo (popup) cuando el usuario se conecta a Instagram y la aplicación se concede el permiso.
  2. En la ventana emergente, el usuario se redirige a mi sitio web donde mi sitio web se curva a Instagram para obtener el access_token, luego establece el token de acceso en la sesión del usuario o como una cookie.
  3. De alguna manera ... la aplicación principal debe reconocer cuándo se ha configurado el token de acceso. Este es el punto del que no estoy seguro. ¿Usaría un temporizador para seguir haciendo llamadas al servidor para verificarlo? ¿Alguien tiene mejores ideas para detectarlo? ¿Sería mejor configurarlo en una cookie?

Pensé en preguntar aquí primero antes de comenzar a codificar en caso de que alguien tuviera alguna idea de si esto funcionaría o no, u otras sugerencias. Tal vez esto ya existe y me falta algo?

Gracias de antemano :-)

+0

Corrígeme si me equivoco, pero la autenticación de FB Javascript SDK hace una actualización de página * después * de una autenticación exitosa. La autenticación ocurre en una ventana emergente de página, luego se invoca una actualización de página si el inicio de sesión fue exitoso. –

+3

echa un vistazo a este enlace: http://www.9lessons.info/2012/05/login-with-instagram-php.html y puede integrar eso en una llamada .ajax() – tcd

+2

Ver [esta pregunta] (http: //stackoverflow.com/q/9276086/1467115) para obtener información de una ventana emergente. –

Respuesta

9

terminó siendo muy fácil de hacer esto con una ventana emergente usando los comentarios de tdun y Jan. Gracias chicos! Usó la clase Instgram de 9lessons, y usó window.opener.processAuthData (authData) para devolver la llamada a la ventana original. Y tuve que hacer una actualización, pero estaba en la ventana emergente, no en la ventana principal de la aplicación, que era lo que estaba buscando.

+0

+1 para autoaprendizaje :) –

Cuestiones relacionadas