Configurar inicio de sesión de Google para Discourse

:bookmark: Esta guía explica cómo configurar la integración de inicio de sesión con Google para su sitio de Discourse mediante la configuración de credenciales OAuth2 en la Google Cloud Console.

:person_raising_hand: Nivel de usuario requerido: Administrador

Resumen

El inicio de sesión con Google permite a los usuarios iniciar sesión en su sitio de Discourse usando sus cuentas de Google. Esta guía lo guiará a través de:

  1. Creación de un proyecto de Google Cloud
  2. Configuración del consentimiento de OAuth
  3. Configuración de credenciales
  4. Habilitación del inicio de sesión con Google en Discourse

Crear un proyecto de Google Cloud

  1. Navegue a https://console.developers.google.com
  2. Haga clic en el botón de selección de proyectos en la parte superior izquierda
  3. Haga clic en “Nuevo proyecto”

  1. Ingrese un nombre de proyecto y una ubicación opcional.
  2. Haga clic en “Crear”

:information_source: Si ve algún error después de crear el proyecto, actualice la página usando Ctrl+F5.

Configurar la pantalla de consentimiento de OAuth

  1. Vuelva a navegar a https://console.developers.google.com y seleccione su nuevo proyecto si aún no está seleccionado.
  2. Navegue a “Pantalla de consentimiento de OAuth” en el panel izquierdo. También puede usar el menú de Google Cloud en la parte superior izquierda para seleccionar “APIs y servicios” → “Pantalla de consentimiento de OAuth”.

  1. Haga clic en “Comenzar”
  2. En “Información de la aplicación”, ingrese un nombre de aplicación y seleccione una dirección de correo electrónico de asistencia al usuario.

  1. Seleccione la Audiencia “Externa”

  1. A continuación, ingrese una dirección de correo electrónico de notificaciones
  2. Finalmente, acepte la Política de datos de usuario de Servicios de API y haga clic en “Crear”

Configurar credenciales

  1. Navegue a la pantalla “APIs y servicios” → “Credenciales”
  2. Haga clic en “Crear credenciales” y seleccione “ID de cliente de OAuth”

  1. Configure el cliente OAuth:
  • Seleccione “Aplicación web” como Tipo de aplicación y asígnele un Nombre
  • En Orígenes de JavaScript autorizados, agregue la URL base de su sitio (incluyendo https://)
  • Agregue su URL de devolución de llamada bajo URIs de redireccionamiento autorizados: https://your-discourse-site.com/auth/google_oauth2/callback
  • Haga clic en “Crear”

Haga clic en el ID de cliente de OAuth:

Copie el ClientID y el Client Secret para agregarlos a su administración de Discourse:

Configurar ajustes de Discourse

  1. En la configuración de administración de su Discourse, en “Inicio de sesión y autenticación”
  • Habilite la configuración enable google oauth2 logins
  • Ingrese su google oauth2 client id
  • Ingrese su google oauth2 client secret

Verificar y publicar

Pruebe la integración agregando un usuario con una dirección de correo electrónico de Google y confirmando que puede iniciar sesión en Discourse usando la opción “Iniciar sesión con Google”. Si puede iniciar sesión, ¡la configuración está completa! :tada:

:warning: NOTA:

Anteriormente se requería un paso final: cambiar el estado del proyecto de Google Developer a production. Esto ya no parece ser necesario. Dejamos estas notas heredadas aquí por si acaso.

Para hacer la integración accesible públicamente:

  • Cambie el estado a “En producción”
  • Complete el proceso de verificación de Google
  • Verifique la propiedad del sitio a través de Google Search Console

Configuración adicional

Prompt de Google OAuth2

La configuración google oauth2 prompt controla el comportamiento de la pantalla de consentimiento de Google durante el inicio de sesión. Opciones disponibles:

  • (en blanco) — comportamiento predeterminado de Google
  • none — no se muestra la pantalla de consentimiento o selección de cuenta
  • consent — siempre mostrar la pantalla de consentimiento
  • select_account — siempre solicitar al usuario que seleccione una cuenta

Inicio de sesión de Google Workspace (anteriormente G. Suite, Google Apps)

Para restringir el inicio de sesión a dominios específicos de Google Workspace:

  1. En Administración de Discourse -> Inicio de sesión y autenticación, localice la configuración del sitio google oauth2 hd
  2. Ingrese su dominio de Google Workspace

Sincronización de grupos de Google Workspace

Puede sincronizar automáticamente los grupos de Google Workspace con Discourse. Esto requiere:

  1. Habilitar la configuración google oauth2 hd groups
  2. Establecer google oauth2 hd en su dominio de Workspace
  3. Ingresar un correo electrónico de administrador de Workspace en google oauth2 hd groups service account admin email
  4. Pegar las credenciales JSON de su cuenta de servicio de Google en google oauth2 hd groups service account json

La cuenta de servicio debe tener habilitada la delegación en todo el dominio y se le debe otorgar el alcance https://www.googleapis.com/auth/admin.directory.group.readonly. Consulte la documentación de Google sobre delegación en todo el dominio para obtener instrucciones de configuración.

Solución de problemas

Si experimenta problemas de inicio de sesión:

  • Verifique que HTTPS esté configurado correctamente
  • Vuelva a verificar todas las URI de redireccionamiento
  • Asegúrese de que el certificado SSL de su sitio sea válido
  • Confirme que todas las API de Google Cloud requeridas estén habilitadas
  • Habilite google oauth2 verbose logging para obtener registros detallados de solicitud/respuesta de OAuth2

Recursos relacionados

165 Me gusta