WP Multisite с несколькими экземплярами Discourse

Я немного отстал от новостей, касающихся интеграции Discourse и WordPress — особенно в контексте мультисайтовых установок. Подробнее об этом можно узнать здесь: Pavilion is now maintaining and developing the WP Discourse plugin - #2.

Я не думаю, что что-то изменилось с момента написания мной этого поста: Discourse as SSO provider for Wordpress multisite - #2 by simon. Однако информацию из того поста стоит вынести в отдельную тему.

Вы можете использовать Discourse в качестве провайдера SSO для сети мультисайтов. Это работает только в том случае, если вы настроили один сайт Discourse как провайдера SSO для всех сайтов в сети. Причина в том, что в мультисайтовой сети все пользователи хранятся в одной таблице базы данных. Если разрешить нескольким сайтам Discourse функционировать как провайдерам SSO для разных сайтов в сети, не будет простого способа гарантировать уникальность идентификаторов пользователей Discourse, сохраняемых в WordPress.

При установке плагина WP Discourse в мультисайтовой сети в меню администратора сети появляется вкладка Discourse. Чтобы настроить Discourse как провайдера SSO для всех сайтов в сети, перейдите на страницу администратора сети, выберите в меню пункт Discourse. Выберите опцию «Включить конфигурацию мультисайта», затем заполните настройки подключения. Далее прокрутите страницу вниз до раздела настроек SSO. Выберите опцию «Включить SSO-клиент». Введите ваш секретный ключ SSO и сохраните страницу настроек.

Одно важное замечание: включение функциональности SSO-клиента в мультисайтовой сети потенциально может предоставить доступ любого пользователя вашего форума Discourse к любому сайту в вашей сети.

По сути, если вы пытаетесь реализовать что-то отличное от описанного выше с использованием Discourse в качестве провайдера SSO для мультисайтовой сети WordPress, вам придётся решать задачу самостоятельно. Технически возможно разрешить нескольким сайтам Discourse функционировать как провайдерам SSO для отдельных сайтов в сети WordPress, но требуемая для этого конфигурация была бы излишне сложной. Я не думаю, что эта функция когда-либо будет добавлена в плагин для WordPress.