Кто-нибудь уже обнаружил или создал сайт с функцией мультисайта (SSO)? Хотелось бы увидеть возможные варианты для вдохновения!
В идеале мультисайт используется для нескольких городов, где люди могут сосредоточиться на местных новостях и событиях. Также должна быть возможность обсуждать темы между городами, поскольку пользователи используют интернет для совместной работы.
Я работаю с клиентом, который запускает сайт для локального контента. Мы не планируем создавать несколько сайтов, а будем использовать категории Discourse для разных городов и регионов. Для новых сайтов огромной проблемой является достижение критической массы. Если начать с разделения на отдельные сайты, шансы на успех любого из них резко падают. Гораздо лучше создать один сайт для всех и использовать инструменты, предоставляемые Discourse, для организации контента.
Если сайт станет успешным, возможно, имеет смысл разделить его на подсайты. (Скорее всего, этого не произойдет, но кто знает?) Перенос категорий из одного экземпляра Discourse в другой не составляет труда. Поэтому нет необходимости начинать с нескольких сайтов, которые вам, возможно, никогда не понадобятся.
Я начал размышлять о том, как реализовать сценарий, когда у кого-то есть тысячи сайтов на мультисайте, а единый «главный» сайт Discourse служит источником аутентификации для всех них.
Кажется, это возможно, если приложить некоторые усилия (и усилий потребуется гораздо меньше, если количество сайтов не превышает тех, которые вы готовы настроить вручную).
Хранение одинаковых данных на нескольких сайтах — задача сложная (об этом уже шла речь в контексте использования плагина ActivityPub), но вы можете разместить на главном сайте ту информацию, которая важна для всех.
Вы хотите использовать DiscourseConnect для SSO? Например, с одного провайдера идентификации аутентифицировать пользователей на нескольких сайтах Discourse с помощью DiscourseConnect? Если да, то, по моему мнению, это технически возможно, но это не тот сценарий использования, для которого предназначен DiscourseConnect. Сложность будет заключаться в определении, с какого сайта Discourse поступил запрос SSO. Я думаю, это можно сделать, добавив параметр URL в настройку «discourse connect url» каждого сайта Discourse. Например:
https://example.com/sso?subdomain=foo
https://example.com/sso?subdomain=bar
Код на стороне провайдера идентификации затем может перенаправлять запросы SSO на соответствующие поддомены: foo.example.com или bar.example.com.
Мне известен сайт, который ранее реализовывал что-то подобное, но я не уверен, используют ли они этот подход до сих пор.