Tenemos una categoría privada en nuestra instancia de Discourse que está restringida a un grupo de usuarios específico. Creamos un enlace para que los nuevos usuarios puedan acceder a esta categoría después de iniciar sesión a través de OAuth2.
Sin embargo, cuando los nuevos usuarios que aún no tienen una cuenta de Discourse hacen clic en el enlace, ven este mensaje:
“Lo sentimos, el acceso a este foro es solo por invitación.”
Debido a esto, no pueden continuar con el flujo de inicio de sesión de OAuth2 y nunca llegan a la categoría. Los usuarios existentes pueden acceder normalmente.
Queremos que los nuevos usuarios puedan iniciar sesión a través de OAuth2 y luego ser añadidos al grupo apropiado para que puedan ver la categoría, pero actualmente Discourse los bloquea antes de iniciar sesión.
En lo que necesitamos ayuda
¿Por qué el sitio muestra “solo por invitación” aunque queremos permitir el inicio de sesión de OAuth2 para nuevos usuarios?
¿Hay alguna configuración como oauth2 allow uninvited users (permitir usuarios no invitados a OAuth2) o invite only (solo por invitación) que necesitemos ajustar?
¿Cuál es la configuración correcta si queremos:
que el sitio no sea solo por invitación,
que los usuarios de OAuth2 inicien sesión como cuentas nuevas, y
que los permisos de grupo restrinjan el acceso a la categoría después de iniciar sesión?
Agradeceríamos cualquier orientación sobre cómo configurar correctamente las restricciones de categoría basadas en grupos + OAuth2.
Hola, ¿podrías comprobar la configuración del sitio de Discourse invite only (solo con invitación) y desactivarla si está activada?
Desactivar invite only permitirá que los nuevos usuarios inicien sesión o se registren utilizando OAuth2.
Una vez que hayan iniciado sesión, puedes utilizar tus reglas de pertenencia a grupos (automatización o asignación manual) para concederles acceso a la categoría privada.
Deshabilité la opción Solo por invitación y creé un enlace de invitación de grupo para una categoría privada. Cuando los nuevos usuarios hacen clic en el enlace, inician sesión a través de nuestro SSO OAuth2, pero no se añaden automáticamente al grupo, por lo que todavía no pueden ver la categoría.
Necesito ayuda para entender por qué los enlaces de invitación de grupo no añaden a los nuevos usuarios de SSO al grupo y cómo asegurar que los nuevos usuarios de SSO OAuth2 se añadan automáticamente al usar el enlace de invitación.
Recientemente tuvimos un problema similar y lo resolvimos deshabilitando la opción “OpenID Connect match by email” (Coincidencia de OpenID Connect por correo electrónico) en la configuración del complemento OpenID Connect.
La principal diferencia en nuestro caso es que utilizamos una instancia de Authentik autoalojada como SSO, y tenemos un webhook de Authentik que crea una cuenta de Discourse para nuevos usuarios una vez que su cuenta de Authentik está configurada. En este webhook, se crea la cuenta de Discourse y luego se añade a los grupos de Discourse basándose en los grupos a los que tiene acceso la cuenta de Authentik.
Otras configuraciones relevantes (diferentes de los valores predeterminados) que tenemos implementadas son:
En la configuración de inicio de sesión (Login settings):
Se requiere inicio de sesión (Login required)
Solo por invitación (Invite only)
Habilitar inicios de sesión locales (disabled) (Enable local logins (disabled))
Habilitar inicios de sesión locales por correo electrónico (disabled) (Enable local logins via email (disabled))
Habilitar CTA de registro (disabled) (Enable signup CTA (disabled))
Omitir confirmación de creación de Auth (enabled) (Auth skip create confirm (enabled))
En la configuración del complemento OpenID Connect (OpenID Connect plugin settings):
Alcance de autorización de OpenID Connect (email openid profile) (OpenID Connect authorize scope (email openid profile))
Coincidencia de OpenID Connect por correo electrónico (disabled) (OpenID Connect match by email (disabled))