Multiple sites with the same user accounts?

Hi… I’ve searched / browsed this forum but couldn’t find a simple explanation. Is multisite a feature where you want multiple separate sites but on the same server?

What I’m really looking for / wondering is if you can set up multiple forums on the same server, that share the same user database? Sorry if this has already been asked.

To share the userbase, simply have one of the forums be the sso provider and have the other forums be an sso consumer.

5 Me gusta

Note that this is visible to the user: When they want to log in, they always go to the same site. This could be confusing, depending on the use case. If you want to avoid that, you need to set up an external SSO provider.

Also note that this will share the credentials, but not the user profiles, group memberships, …

Profile stuff can be handled in the payload.

Related:

https://meta.discourse.org/t/can-multisite-instances-communicate-with-one-another/8984?u=erlend_sh

1 me gusta

Are there any newer/better approaches to this since the last post? This is something we want to do as well.

We definitely want to share user profiles so that badges (for example) only have to be earned once overall, not once per site.

Using discourse in multiple sites with shared accounts? suggests that just SSO will do the trick but Multiple sites with the same user accounts? suggests that using SSO just takes care of the authentication (credentials) but nothing else.

If you want shared badges, like using the sum for each site to get a badge, you gotta use a single forum and categories to separate stuff.

5 Me gusta

Entonces, ¿cuál es la mejor manera de manejar esto? ¿Configuras un sitio central principal e incrustas enlaces de Discourse en otros sitios (de modo que sus publicaciones de conversación se almacenen esencialmente o estén «en» un sitio central)?

“Lo mejor” es relativo si no se especifican tus capacidades.

Lo más sencillo es exactamente lo que se dice en el mensaje anterior al tuyo: utilizar una única instancia.

Si cuentas con las capacidades de ingeniería, o el presupuesto equivalente, puedes tener múltiples instancias que compartan un único SSO, junto con una aplicación complementaria que consulte todas las instancias hermanas de Discourse para obtener datos y otorgar insignias a los usuarios en cada instancia mediante llamadas a la API.

3 Me gusta

básicamente, un plugin de sincronización de perfiles SSO. ¿Sabes si existe algo así? ¿Alguien está trabajando ya en algo similar? También me interesa.

He leído que los inicios de sesión alternativos, como Facebook, se pierden cuando se usa SSO. ¿Sigue siendo así hoy en día? ¿El Discourse central tampoco tendría esos inicios de sesión alternativos? ¿Por qué es eso?

Podrías tener un Discourse configurado como principal y otros configurados para tener al sitio principal como su servidor de SSO. En ese caso, el Discourse principal podría usar inicios de sesión sociales, pero aquellos que lo usaran como su servidor de SSO redirigirían todos sus inicios de sesión al servidor principal.

Si usas SSO, entonces es el único método de autenticación que puedes utilizar. Si deseas delegar de manera óptima a otro servidor, tienes que usar OAuth2.

1 me gusta

¿Qué sucede cuando un usuario de un Discourse esclavo intenta iniciar sesión? Son redirigidos a la creación de cuenta en el Discourse maestro, que incluye cualquier inicio de sesión en redes sociales que desee, y luego son redirigidos de vuelta al Discourse esclavo y se les pide que inicien sesión con qué credenciales si utilizaron un inicio de sesión en redes sociales como Facebook después de que la creación de la cuenta fue exitosa? Disculpa la pregunta larga, puedo intentar reformularla si no tiene sentido… Básicamente, una red de Discourse que depende de un Discourse maestro y el cual permite inicios de sesión en redes sociales: ¿los Discourse esclavos están utilizando autenticación local almacenada en el Discourse maestro o siguen utilizando, por ejemplo, autenticación de Facebook? Parece que podría ser confuso para los gestores de contraseñas locales.

tldr; quiero que mi maestro y los esclavos permitan inicios de sesión en redes sociales.

El cliente redirige al discurso principal. Realiza la autenticación. Es allí donde los usuarios inician sesión. Puede utilizar autenticación social.

Los sitios de discurso del cliente no saben si el usuario utilizó autenticación social al iniciar sesión (al menos, eso creo yo).

2 Me gusta

Entonces, ¿cuando un invitado inicia sesión en el esclavo, es redirigido al maestro donde inicia sesión con redes sociales y luego es redirigido de nuevo al esclavo ya conectado?

1 me gusta