Esta guía explica cómo aprovisionar automáticamente las cuentas de usuario en Discourse cuando se habilita un proveedor de autenticación externo, para que los usuarios se creen automáticamente sin que se les muestre una página de registro.
Nivel de usuario requerido: Administrador
Aprovisionamiento automático de cuentas de usuario con autenticación externa
Cuando conectas Discourse a un proveedor de identidad externo mediante DiscourseConnect, el plugin OpenID Connect, el plugin OAuth2 Basic, SAML u otro proveedor de autenticación, Discourse crea las cuentas de usuario en el primer inicio de sesión. De forma predeterminada, muestra una página de registro antes de crear la cuenta, incluso cuando el proveedor ya ha proporcionado todos los detalles necesarios (correo electrónico, nombre de usuario y nombre).
El aprovisionamiento automático elimina este paso adicional. Con la configuración adecuada habilitada, Discourse crea la cuenta en segundo plano de forma silenciosa e inicia la sesión del usuario directamente, ofreciendo una experiencia fluida.
Habilitar el aprovisionamiento automático
Para omitir el paso de registro, debes habilitar la configuración del sitio auth_skip_create_confirm. Esta configuración se encuentra en Admin > Todas las configuraciones del sitio > Página de inicio de sesión.
Opcional: Habilitar la configuración de anulación
Estas configuraciones indican a Discourse que confíe en los valores proporcionados por tu proveedor de identidad y los utilice directamente, sin pedir al usuario que los revise. Navega a Admin > Todas las configuraciones del sitio > Página de inicio de sesión y marca lo siguiente:
| Configuración | Descripción |
|---|---|
auth_overrides_username |
Utiliza el nombre de usuario del proveedor directamente en cada inicio de sesión e impide que el usuario lo cambie localmente. Se aplica a todos los proveedores de autenticación. |
auth_overrides_email |
Utiliza el correo electrónico del proveedor directamente en cada inicio de sesión e impide que el usuario lo cambie localmente. Se aplica a todos los proveedores de autenticación. |
auth_overrides_name |
Utiliza el nombre completo del proveedor directamente en cada inicio de sesión e impide que el usuario lo cambie localmente. Se aplica a todos los proveedores de autenticación. |
auth_overrides_avatar |
Utiliza el avatar del proveedor directamente en cada inicio de sesión e impide que el usuario lo cambie localmente. Se aplica a todos los proveedores de autenticación. |
Los plugins OAuth2 Basic, OpenID Connect y SAML también tienen sus propias configuraciones de anulación específicas del plugin (
oauth2_overrides_email,openid_connect_overrides_email,saml_sync_email). Estas funcionan de la misma manera que la configuración globalauth_overrides_email, pero se aplican solo a su proveedor respectivo. Para la mayoría de las configuraciones, las configuraciones globales anteriores son suficientes.
Preguntas frecuentes
¿Estas configuraciones se aplican a todos los plugins de autenticación o solo a DiscourseConnect?
Las configuraciones auth_skip_create_confirm y auth_overrides * se aplican a todos los proveedores de autenticación externos, incluidos DiscourseConnect, OpenID Connect, OAuth2 Basic, SAML y cualquier otro plugin basado en el marco de autenticación de Discourse.
¿Puedo crear cuentas para los usuarios antes de que inicien sesión?
Sí, pero solo cuando se utiliza DiscourseConnect. Utiliza la ruta de API sync_sso como se describe en Sync DiscourseConnect user data with the sync_sso route.
¿Cuál es la diferencia entre DiscourseConnect y los plugins OAuth2/OIDC?
DiscourseConnect es el protocolo SSO personalizado de Discourse. Otorga a tu sitio externo control total sobre las cuentas de Discourse, incluida la capacidad de asignar membresía de grupos, anular campos y crear cuentas previamente mediante API. Los plugins OAuth2 y OpenID Connect utilizan protocolos estándar de la industria, lo que facilita la conexión con proveedores de identidad de terceros con configuraciones mínimas.