Aplicación: nginx, php, mariadb - aplicación personalizada.
oAuth se basa en https://github.com/overtrue/socialite (flujo del lado del servidor):
mypage.com/auth/start/google (302) => https://accounts.google.com/o/oauth2/v2/auth?... (302) => mypage.com/auth/redirect/google?... (handle login etc)Problema: problema intermitente después de hacer clic en el botón de inicio de sesión oauth (enlace simple) en iPhone SE y iPad, Chrome (último). Todo funciona bien en navegadores de escritorio, modo receptivo y dispositivos virtuales.
A veces, cuando hago clic en el botón de inicio de sesión para ir a mypage.com/auth/start/google , el navegador se bloquea "cargando". El navegador no responde en absoluto en este momento, pero no está en un bucle de redirección.
Curiosamente, cuando verifico la actividad de la red en segundo plano con, por ejemplo, mitmproxy , puedo ver que, en realidad, el proceso de autenticación finalizó correctamente y veo las solicitudes/respuestas, pero Chrome móvil no se actualiza. Como si fuera a ver una versión estática de mi sitio web. Aún más confuso, incluso puedo hacer clic en los enlaces que estaban visibles en la página de inicio de sesión atascada (donde hice clic en el botón de inicio de sesión) y puedo ver que llegan las solicitudes y las respuestas, pero no hay cambios en la representación de la página. Tengo que cerrar el navegador y volver a abrir la página (donde estoy seguro de haber iniciado sesión).
Lo que he probado:
Mi css no es 100% válido, podría pasar algunas horas solucionando pequeños problemas. No hay nada en los registros de la aplicación, nginx o php: ¡la solicitud se realiza correctamente en segundo plano! No tengo una Mac.
Es bastante difícil de reproducir consistentemente y no pude encontrar un patrón. No pude encontrar ningún problema similar en línea y estoy atascado. ¿Qué debo probar? ¿Parece un problema del lado del cliente (js, css) o del lado del servidor (redireccionamiento)?