Administro un foro que utiliza SSO para transmitir credenciales de nombre de usuario y contraseña a nuestra instancia de Discourse.
Actualmente, debes iniciar sesión en mi sitio web principal y luego hacer clic para acceder a mi foro, de modo que se produzca el paso de credenciales y se cree una cuenta en el foro.
Mis desarrolladores están trabajando en actualizar nuestro método de llamada a la API, que está desactualizado, y adaptarlo a la especificación actual de Discourse. Mi desarrollador me indica que es posible que SSO cree una cuenta en Discourse sin que el usuario tenga que hacer clic explícitamente para acceder a nuestro foro.
¿Alguno de ustedes tiene su API configurada de esta manera? Estoy preocupado por sincronizar esto automáticamente de forma predeterminada. ¿Cuáles son las ventajas y desventajas?
Sí, nuestro plugin de WordPress tiene una opción que hace algo similar. El funcionamiento es el siguiente: cuando un usuario crea una cuenta en WordPress o inicia sesión en el sitio de WordPress, se realiza una llamada a la ruta /admin/users/sync_sso de Discourse. Si el usuario aún no existe en Discourse, esto crea un usuario en Discourse. Si el usuario ya existe en Discourse, la llamada puede utilizarse para actualizar detalles del usuario que han cambiado en el sitio del proveedor de SSO. Por ejemplo, puede usarse para actualizar el nombre, el nombre de usuario o la dirección de correo electrónico del usuario. También puede utilizarse para agregar o eliminar al usuario de los grupos de Discourse.
La única desventaja que conozco es que añade cierta complejidad al código de SSO. Con la forma en que está implementado en el plugin de WordPress, también añade una llamada a la API de Discourse cada vez que un usuario inicia sesión en el sitio del proveedor de SSO. Esto se debe a que está conectado al evento de inicio de sesión de WordPress. No tengo conocimiento de que esta llamada a la API cause problemas de límite de velocidad en ningún sitio, pero sería posible realizar la llamada solo cuando se crea una cuenta nueva si eso fuera un problema.
La ventaja de este enfoque es que permite actualizar detalles de tus usuarios sin que tengan que iniciar sesión en Discourse mediante SSO. Por ejemplo, te permitiría agregar usuarios a un grupo de Discourse cuando realicen una acción en tu sitio web.
Otro enfoque para integrar un sitio web con Discourse mediante SSO es utilizar enlaces de inicio de sesión SSO en tu sitio web. Esto te permite incluir tu foro de Discourse en tu sitio web, lo que inicia sesión de los usuarios en Discourse y los lleva a una página específica. Este tema contiene detalles sobre cómo configurarlo: Crear un enlace de inicio de sesión SSO.