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.
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, …
Итак, какой лучший способ решить эту задачу? Создать центральную главную площадку и встраивать ссылки на Discourse на других сайтах (так чтобы их обсуждения по сути хранились/находились «на» центральной площадке)?
«Лучший» — понятие относительное, если не указать свои возможности.
Самый простой вариант — именно то, что сказано в сообщении выше: использовать один экземпляр.
Если у вас есть необходимые инженерные ресурсы или соответствующий бюджет, можно развернуть несколько экземпляров с единой системой единого входа (SSO) и создать вспомогательное приложение, которое будет запрашивать данные у всех связанных экземпляров Discourse и через вызовы API выдавать пользователям значки на каждом из них.
По сути, это плагин синхронизации профилей SSO. Вам известно о чём-то подобном? Кто-нибудь уже работает над чем-то похожим? Мне это тоже интересно.
Я читал, что альтернативные логины, такие как Facebook, теряются при использовании SSO. Актуально ли это до сих пор? Не будет ли у центрального Discourse этих альтернативных логинов? Почему так происходит?
Вы можете настроить один экземпляр Discourse как основной, а остальные — с основным сайтом в качестве SSO-сервера. В этом случае основной Discourse может использовать социальные логины, но те, кто использует его в качестве SSO-сервера, будут перенаправлять все свои входы на основной сервер.
Если вы используете SSO, то это будет единственный доступный метод аутентификации. Если вы хотите оптимально делегировать аутентификацию другому серверу, необходимо использовать OAuth2.
Что происходит, когда пользователь с подчинённого (slave) форума Discourse пытается войти в систему? Он перенаправляется на создание аккаунта на главном (master) форуме Discourse, где доступны любые желаемые способы входа через социальные сети, после чего возвращается на подчинённый форум. Если пользователь использовал вход через социальную сеть (например, Facebook) и создание аккаунта прошло успешно, с какими учётными данными его просят войти? Извините за длинный вопрос; если что-то непонятно, я могу переформулировать. Если говорить кратко: у меня есть сеть форумов Discourse, где подчинённые форумы зависят от главного, а на главном разрешён вход через социальные сети. Используют ли тогда подчинённые форумы локальную аутентификацию, хранящуюся на главном форуме, или они всё ещё используют, например, аутентификацию через Facebook? Это может запутать локальные менеджеры паролей.
TL;DR: Я хочу, чтобы и главный, и подчинённые форумы Discourse поддерживали вход через социальные сети.
Клиент перенаправляет на основной дискурс. Там выполняется аутентификация — это место, где пользователи входят в систему. Можно использовать социальные сети.
Сайты дискурса клиента не знают, использовал ли пользователь социальные сети при входе (по крайней мере, я так не думаю).
Итак, когда гость входит в систему на slave-сервере, он перенаправляется на master, где авторизуется через соцсети, а затем возвращается обратно на slave уже авторизованным?