Estoy migrando de la biblioteca de la plataforma de inicio de sesión de Google al nuevo Google Identity Services con inicio de sesión con un solo toque, pero el sitio web cierra automáticamente la sesión del usuario cuando actualiza o va a una página diferente.
Este es el código que está presente en cada página que carga el inicio de sesión con un solo toque:
<div id="g_id_onload" data-client_id="[CLIENT ID]" data-callback="onSignIn" data-auto_select="true"> </div>Eliminar esto solo mantiene al usuario desconectado sin forma de volver a iniciar sesión. Hay una cookie, g_state, que almacena el inicio de sesión del usuario , así como atributos para mostrar la ventana emergente en función de su presencia, pero trabajar con esto también mantiene al usuario se desconectó sin posibilidad de volver a iniciar sesión.
¿Hay alguna forma de evitar el cierre de sesión automático al actualizar?
Establecer una cookie para rastrear el estado de inicio de sesión del usuario en su sitio debería hacerlo.
Algunas cosas a tener en cuenta:
OnSignIn .data-skip_prompt_cookie se utiliza para suprimir One Tap después de que el usuario inicie sesión correctamente en su sitio web; ya ha iniciado sesión correctamente, así que deje de molestarme con las indicaciones de One Tap. Entonces, después de que alguien visite cualquier página e inicie sesión, emitirá una cookie para que One Tap no se muestre cuando se cargue la página siguiente. Le gustaría borrar esta cookie cuando cierren sesión en su sitio web.data-skip_prompt_cookie lo ayuda a controlar cuándo mostrar One Tap cuando usa HTML estático, cuando usa JS, puede elegir mostrar One Tap llamando a google.accounts.id.prompt u omitir llamarlo y mostrar One Tap.g_state por completo, actualmente ayuda a administrar cómo mostrar la interfaz de usuario y no está diseñado para usarse como un medio para intentar rastrear el estado de inicio de sesión o sesión. En su lugar, realice un seguimiento del inicio de sesión del usuario utilizando su propia cookie y data-skip_prompt_cookie .