Плагин WordPress для Discourse не выполняет автоматический вход пользователя на алиас-домене

Всем привет,
У нас возникла ситуация кастомизации WordPress, которая нарушает работу плагина Discourse.

Сценарий:

  1. Мой сайт работает на WordPress. Пусть это будет abc.com.
  2. У меня установлен плагин Discourse для WordPress, и он отлично работает: после входа в WordPress я просто нажимаю кнопку входа на Discourse, и пользователь автоматически авторизуется.
  3. Сообщество размещено на community.abc.com.
  4. Теперь я создал псевдоним домена для своего сайта как решение с белой этикеткой (white-label) для одного из клиентов. Пусть новый домен будет abc.client.com.
  5. Этот новый домен позволяет клиенту получать доступ к сайту в полностью беломаркированном виде. Мы не хотим, чтобы они получали доступ к любому контенту через домен abc.com.
  6. Теперь, когда пользователь со стороны клиента входит в систему на abc.client.com (беломаркированный сайт WordPress) и затем нажимает ссылку на сообщество, его перенаправляют на community.abc.com.
  7. Когда пользователь нажимает кнопку входа на сообществе, он не автоматически авторизуется на сайте Discourse, а вместо этого страница перенаправляется на abc.com/login/?redirect_to=%2Flogin%3Fsso
  8. Это перенаправление нежелательно, так как пользователю придется сначала войти в abc.com, и только потом получить доступ к community.abc.com.
  9. Вопрос — есть ли способ войти в сообщество Discourse после того, как пользователь войдет в систему на abc.client.com?

Это может быть проблемой, связанной с изменением вебхука из-за использования псевдонима домена. Есть ли обходной путь, чтобы это работало? Должен ли пользователь быть авторизован в abc.com, чтобы войти в сообщество Discourse? Могут ли два домена входить в одно и то же сообщество Discourse?

Благодарю за поддержку.

Привет, @Himanshu_Singh.

Во-первых, я немного сбит с толку: почему вы просто не измените домен abc.com на abc.client.com? Зачем вам нужны два домена?

Во-вторых,

Ссылка для перенаправления определяется настройкой сайта discourse connect url на community.abc.com, которая, как я предполагаю, всё ещё установлена в значение abc.com.

@angus Хорошо

Хороший вопрос — мы разрабатываем несколько решений с белой этикеткой для разных партнёров, поэтому у нас будет несколько партнёрских URL-адресов (abc.client1.com, abc.client2.com и так далее), при этом мы сохраним наш основной URL для прямого бизнеса (abc.com). Представьте этих партнёров как аффилированных лиц, которые могут использовать наш продукт в своей повседневной деятельности.

Есть ли способ динамически задавать discourse connect url на основе URL сайта, используемого для входа в WP?

Спасибо.

Для этого вам потребуется создать плагин для Discourse.