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개의 좋아요

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개의 좋아요

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.

https://meta.discourse.org/t/using-discourse-in-multiple-sites-with-shared-accounts/12702 suggests that just SSO will do the trick but Multiple sites with the same user accounts? - #3 by fefrei 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개의 좋아요

그렇다면 이 문제를 처리하는 가장 좋은 방법은 무엇일까요? 중앙 마스터 사이트를 설정하고 다른 사이트들에 Discourse 링크를 임베드하는 방식(즉, 대화형 게시물이 기본적으로 중앙 사이트에 저장되어 있거나 중앙 사이트 "위"에 존재하는 방식)을 취할까요?

기능을 명시하지 않는다면 "최고"라는 것은 상대적입니다.

가장 쉬운 방법은 바로 위 게시글에 나와 있듯이 단일 인스턴스를 사용하는 것입니다.

엔지니어링 역량이 있거나 이에 상응하는 예산이 있다면, 단일 SSO를 공유하는 여러 인스턴스를 운영할 수 있습니다. 그리고 모든 자매 Discourse 인스턴스에서 데이터를 조회하여 API 호출을 통해 각 인스턴스에서 사용자에게 배지를 부여하는 동반 애플리케이션을 사용할 수도 있습니다.

3개의 좋아요

결국 SSO 프로필 동기화 플러그인이라고 보면 되겠네요. 이런 기능이 있는 플러그인이 있는지 알고 계신 분 계신가요? 이미 이런 걸 개발하고 계신 분이 있을까요? 저도 관심이 있습니다.

SSO를 사용하면 Facebook 같은 대체 로그인 방식이 사라진다는 이야기를 들었습니다. 지금도 그런가요? 중앙 Discourse에도 그런 대체 로그인 기능이 없나요? 왜 그런 건가요?

Discourse를 하나를 기본(primary)으로 설정하고, 다른 Discourse 인스턴스들은 해당 기본 사이트를 SSO 서버로 사용할 수 있도록 설정할 수 있습니다. 이 경우 기본 Discourse는 소셜 로그인을 사용할 수 있지만, 기본 사이트를 SSO 서버로 사용하는 다른 인스턴스들은 모든 로그인을 기본 서버로 리디렉션하게 됩니다.

SSO를 사용하는 경우, SSO는 사용할 수 있는 유일한 인증 방식입니다. 다른 서버로 인증을 최적의 방식으로 위임하려면 OAuth2를 사용해야 합니다.

1개의 좋아요

슬레이브 Discourse의 사용자가 로그인하려고 하면 어떤 일이 일어나나요? 마스터 Discourse의 계정 생성 페이지로 리다이렉트되는데, 여기에는 제가 원하는 소셜 미디어 로그인 옵션이 포함됩니다. 그리고 계정 생성이 성공한 후, 예를 들어 Facebook 같은 소셜 미디어 로그인을 사용했다면, 다시 슬레이브 Discourse로 리다이렉트되어 어떤 자격 증명으로 로그인하라고 요구하나요? 질문이 길어서 죄송합니다. 이해가 안 되면 다시 설명해 보겠습니다. 기본적으로, 마스터 Discourse에 의존하는 Discourse 네트워크에서 마스터 Discourse가 소셜 미디어 로그인을 허용하는 경우, 슬레이브 Discourse는 마스터 Discourse에 저장된 로컬 인증을 사용하나요, 아니면 여전히 Facebook 인증 같은 것을 사용하나요? 로컬 비밀번호 관리자에게 혼란을 줄 것 같습니다.

요약하자면, 마스터와 슬레이브 모두 소셜 미디어 로그인을 허용하고 싶습니다.

클라이언트는 기본 Discourse로 리다이렉트됩니다. 인증이 이루어지는 곳이 바로 이곳이며, 사용자가 로그인하는 곳이기도 합니다. 소셜 로그인을 사용할 수 있습니다.

클라이언트 Discourse 사이트는 사용자가 로그인할 때 소셜 로그인을 사용했는지 알 수 없습니다(적어도 그렇게 알고 있습니다).

2개의 좋아요

그러면 게스트가 slave에 로그인하면 master로 리디렉션되어 소셜 로그인을 한 후, 로그인된 상태로 slave로 다시 리디렉션되는 건가요?

1개의 좋아요