Pregunta

Estoy usando Google Appengine para desarrollar una aplicación web que debe usarse tanto en el navegador como en el iPhone. He comprado un nombre de dominio para esta aplicación, para que tenga una URL bonita. He usado el API de usuario para autenticación. Esto funciona bien en los navegadores de escritorio y el safari de iPhone.

El usuario podría agregar la aplicación a la pantalla de inicio (tocando la barra de herramientas "+" en la parte inferior de la herramienta). Sin embargo, cuando esto se hace, parece que las cookies establecidas por Google no están vigentes dentro de esta "aplicación", y el usuario se registra de manera efectiva. Para empeorar las cosas, cuando el usuario hace clic en el enlace de inicio de sesión (según lo generado por GAE), la aplicación cierra y abre Safari para completar el inicio de sesión. Dado que la sesión aparentemente no se comparte entre los dos, el proceso de inicio de sesión es inútil, y la versión de "pantalla casera" de la aplicación continúa siendo registrada.

Parece que las cookies no se comparten entre una aplicación de "pantalla casera" y Safari. También parece que la aplicación de "pantalla casera" solo funcionará dentro de su propio dominio, y cualquier redirección a cualquier otro dominio abrirá Safari. ¿Alguna idea de cómo puedo arreglar esto?

¿Fue útil?

Solución

Resolvió esto, y solo quería publicar la solución aquí.

La solución fue tan simple como configurar el enlace href="javascript:window.location.href=\"whatever\";".

¡Lo más extraño! No tengo idea de por qué me vería obligado a usar JS para esto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top