Conectar el inicio de sesión con GitHub

Para que los usuarios de su servicio se registren con una cuenta de GitHub, primero tiene que registrar su servicio en GitHub y obtener el Client ID y el Client secret.

Esta página explica en qué orden se obtienen el Client ID y el Client secret. Cómo introducir en WEEGLOO los dos valores obtenidos está en Introducir el Client ID y el Client secret en WEEGLOO.

Obtener el Client ID y el Client secret en GitHub

Inicie sesión en GitHub y realice por orden los dos pasos siguientes. Lo que se hace aquí no tiene coste.

1

Registrar la OAuth App

El Client ID y el Client secret están dentro de la única app que registra aquí.

  1. Abra la pantalla de configuración de desarrollador (https://github.com/settings/developers (se abre en una pestaña nueva)).

  2. En el menú de la izquierda, pulse OAuth Apps.

  3. Pulse New OAuth app.

    Pantalla OAuth Apps. En el menú de la izquierda están GitHub Apps, OAuth Apps y Personal access tokens, la lista está vacía y se ve el botón New OAuth app

  4. En Application name, escriba el nombre que verá el usuario (por ejemplo, Armario Acogedor).

  5. En Homepage URL, escriba la dirección de su sitio (por ejemplo, https://armario-acogedor.com).

    Si todavía no tiene un sitio, anote la dirección que vaya a usar más adelante. Podrá modificarla después. Application description, que está en el mismo formulario, es opcional y, si escribe algo, se muestra al usuario tal cual, así que redáctelo como una frase que leerá el usuario.

  6. En la casilla Redirect URI, pegue la dirección de abajo. Si elige su Space, el identificador queda puesto.

    Space
    https://auth.weegloo.com/v1/spaces/{spaceId}/login/oauth2/code/github

    Si no sabe cuál es su Space y ha dejado la integración en manos de un agente de IA, también puede preguntárselo al agente. Si le pide en la ventana de chat «Dime la dirección de redirección que hay que registrar en el inicio de sesión con GitHub», recibirá la dirección ya completa.

  7. Pulse Register application.

    Formulario Register a new OAuth app. En Application name está "Armario Acogedor", en Homepage URL la dirección del sitio y en Redirect URI la dirección de WEEGLOO

2

Copiar el Client ID y el Client secret

Al pulsar Register application se abre la pantalla de configuración de la app que acaba de registrar. El Client ID ya aparece aquí, y el Client secret lo genera ahora pulsando un botón.

  1. Copie el valor que figura en Client ID.

  2. Pulse Generate a new client secret, a la derecha del título Client secrets.

    Pantalla de configuración de la app justo después de registrarla. Se ve el valor de Client ID y, a la derecha del título Client secrets, el botón Generate a new client secret

  3. Pulse el icono de copiar que está a la derecha del valor generado para copiar el client secret.

    Si sale de esta pantalla no podrá volver a ver el client secret

    El Client ID se queda en esta pantalla, así que puede volver a verlo cuando quiera, pero con el client secret no ocurre lo mismo. Si lo perdió, genere uno nuevo con Generate a new client secret e introduzca de nuevo en WEEGLOO el valor recién obtenido. El client secret es un valor secreto, tal como dice su nombre. No se lo dé a nadie ni lo escriba en un sitio público.

    Pantalla justo después de generar el secret. Junto al aviso azul se ven el valor del client secret y el icono de copiar

El correo electrónico tiene que ser público para iniciar sesión

El inicio de sesión con GitHub lleva una condición. La cuenta de GitHub con la que se inicia sesión tiene que tener el correo electrónico público.

Cuando el usuario inicia sesión con GitHub, WEEGLOO recibe también el correo público de esa cuenta y lo guarda en el miembro. En un mismo Space solo se puede registrar una vez con un mismo correo. En las cuentas que no han indicado un correo público ese valor no llega, y entonces el registro se detiene ahí.

Cuando se detiene, el usuario ve una pantalla de aviso que muestra WEEGLOO. En ella está escrito, en el idioma del usuario, que no se ha podido obtener el correo y qué puede hacer, y además hay un botón para volver a su sitio.

Pantalla de aviso de WEEGLOO que indica que no se ha podido obtener el correo electrónico. Junto a la explicación del motivo está el botón Volver al inicio

En ese caso el resultado del inicio de sesión no llega hasta su sitio. Por eso el código de su sitio no puede detectar esta situación ni resolverla en su lugar.

Este problema tiene que resolverlo el propio usuario. Si el usuario abre Public profile en la configuración de su cuenta de GitHub (https://github.com/settings/profile (se abre en una pestaña nueva)), encontrará el apartado Public email. Al elegir ahí el correo que quiere mostrar, el inicio de sesión ya se completa a partir de la siguiente vez. En las cuentas que todavía no lo han elegido solo pone Select a verified email to display.

Pantalla de configuración del perfil de GitHub. En el menú de la izquierda está seleccionado Public profile y, debajo de Public email, el desplegable muestra Select a verified email to display

Lo que puede hacer en su sitio es escribir esta condición de antemano en el lugar donde se inicia sesión con GitHub, para que el usuario lo sepa antes de quedarse bloqueado.

Introducir el Client ID y el Client secret en WEEGLOO

Ahora ya tiene el Client ID y el Client secret. A partir de aquí el camino se divide según cómo haya venido trabajando hasta ahora.

Si estaba configurándolo directamente en el estudio de contenidos, siga estos pasos.

  1. Vuelva a la sección Activar el inicio de sesión social de Inicio de sesión de miembros del servicio.
  2. Active GitHub.
  3. Introduzca el Client ID en la casilla Client ID del Step 2.
  4. Introduzca el Client secret en la casilla Client Secret.
  5. Pulse Guardar.

Si dejó la integración en manos de un agente de IA y este le indicó que fuera a obtener el Client ID y el Client secret, pegue tal cual los dos valores obtenidos en la ventana de chat y siga con lo que estaba haciendo. El resto de la configuración lo continúa el agente.

Qué hacer a continuación

  • Inicio de sesión de miembros del servicio: introduzca los valores obtenidos en el estudio de contenidos y termine el resto de la configuración del inicio de sesión de miembros.
  • Roles y permisos de los miembros: cree el ServiceUserRole que define qué puede ver y usar un miembro registrado.
  • Auth API: trata especificaciones técnicas, como el formato de las solicitudes, que necesita para integrar el inicio de sesión en el código de su sitio.