Inicio de sesión/registro con Google One Tap

|||
-|-|-|
:discourse: | Resumen | Discourse Google One Tap añade soporte para el registro e inicio de sesión de Google One Tap a Discourse.
:hammer_and_wrench: | Enlace al Repositorio | https://github.com/discourse/discourse-google-one-tap
:open_book: | Guía de Instalación | Cómo instalar plugins en Discourse


Características

Este plugin añade soporte para el inicio de sesión y registro de Google One Tap a Discourse. Cuando este plugin está instalado y configurado, los usuarios anónimos verán un aviso que se parece a esto:

Desde ese aviso, pueden usar cualquier cuenta de Google con la que estén actualmente conectados para registrarse o iniciar sesión (si ya tienen una cuenta en tu sitio con la misma dirección de correo electrónico) en tu instancia de Discourse.

Configuración

  1. Asegúrate de que la configuración google_one_tap_enabled esté habilitada

  2. Sigue las instrucciones en Setup  |  Web guides  |  Google for Developers para obtener un ID de cliente y configurar el aspecto del aviso de inicio de sesión/registro y la pantalla de consentimiento

  3. Añade el ID de cliente que obtuviste del paso 2 a la configuración del sitio google_oauth2_client_id.

CHANGELOG

Ninguno.

Créditos

Muchas gracias a @ghassan por desarrollar la versión inicial de este plugin.

27 Me gusta

Gracias por el gran plugin, sin embargo, parece haber un error, donde el plugin crea un div invisible, lo que hace imposible interactuar con cualquier elemento debajo de él.
También crea espacio adicional en el lado izquierdo de la página en dispositivos móviles.
Móvil:


Escritorio:

1 me gusta

¿En qué se diferencia esto del inicio de sesión de Google incorporado para el servicio Discourse?

1 me gusta

Hola :wave: Sí, este plugin definitivamente necesita algo de :heart: Lo probé ayer y experimenté lo mismo. Parece que el iframe de Google en la ventana modal de inicio de sesión/registro también tiene problemas. Parece que la alineación y el estilo no son los mismos que los de otros botones sociales y si abro la ventana modal de inicio de sesión y luego la cambio a registro, el botón de Google no se renderiza.

Hola Don, ¿podrías ampliar esto con un poco más de información y, posiblemente, algunas capturas de pantalla? Pude hacerlo funcionar localmente:

Sin embargo, en modo incógnito experimento el mismo problema:

Podría haber muchas razones para esto; una de ellas, por ejemplo, es el “enfriamiento exponencial” que añadió Google:

Potencialmente podría haber alguna forma de detectar que esto no se cargó correctamente, pero al menos en Chrome, el elemento con “Sign in to localhost with google.com” ni siquiera es un elemento en la página. ¿Quizás podamos usar esto?

google.accounts.id.prompt((notification) => {
    console.log(notification)
});

Esta PR debería solucionar el problema. @Osama He eliminado algunos estilos CSS. ¿Puedes revisarlo cuando tengas tiempo?


3 Me gusta

Gracias por un gran plugin, es exactamente lo que estaba buscando.
Pero, ¿es el plugin también compatible con los últimos cambios “La depreciación de cookies de terceros de Chrome comienza en el primer trimestre de 2024”. Aquí hay más información sobre la migración requerida de FedCM.

Otra observación.

La funcionalidad es muy similar, ¿podría combinarse con el inicio de sesión nativo de Google que Discourse ya tiene, para que la pantalla de inicio de sesión no tenga dos cuadros de “Iniciar sesión con Google”?

1 me gusta

Parece que nadie te respondió @nathank, así que lo haré con lo que creo que es tanto la respuesta como quizás una pregunta.

Creo que este inicio de sesión con un solo toque es lo que se ve comúnmente como la solicitud de creación de cuenta de Google cuando accedes a un sitio, por ejemplo, así:

Creo que la principal diferencia entre esto y el soporte nativo de autenticación de Google es que esto se activa cuando alguien accede a una página en lugar de cuando un usuario llega a la solicitud de inicio de sesión/registro.

1 me gusta

¡Agradezco mucho que respondas a mi pregunta un poco antigua!

Si es tan simple (y parece que lo es), ¿por qué no incorporar la funcionalidad de este plugin al núcleo?

2 Me gusta

Sí, de acuerdo, o hazlo una opción en el núcleo. Esta es una forma bastante reconocida de aumentar los registros y reducir la fricción en la incorporación: los usuarios están familiarizados con esta experiencia.

1 me gusta

Esa solución tenía (o tuvo) algunos problemas que hicieron que el inicio de sesión fuera en realidad más difícil, y se veía desordenada en los móviles. Lo siento, esa es una respuesta realmente inútil, porque ya no recuerdo cuáles fueron esos problemas por los que la deshabilité, incluso cuando la mayoría usa Gmail aquí en Finlandia.

Bump, acabo de notar esto también.

No uses ese inicio de sesión “ordinario” de Google. No es más difícil. Mantuve ambos, porque un toque no está activo en todas las situaciones.

Exacto, pero no quiero tener que elegir entre tener dos botones redundantes o ninguno en algunas situaciones. :slight_smile:

Se pondrá en contacto involuntariamente con los servidores de Google para cualquier persona que intente iniciar sesión/registrarse en la página de carga inicial.

  1. Navegue a Admin → Personalizar → Temas → CSS/HTML.
  2. Abra el editor CSS de su tema activo.
  3. Agregue el siguiente código a la sección CSS:
div#google_one_tap.btn-social {
    display: none !important;
}
  1. Guarde los cambios.
  2. Actualice la página para asegurarse de que el botón ya no sea visible.
2 Me gusta