Используем Discourse как провайдера SSO, но как помочь пользователям продолжить работу в WordPress?

У нас есть сайт на WordPress с подключённым экземпляром Discourse, и всё работает отлично, за исключением того, что некоторые учебные активности на стороне WordPress требуют авторизации пользователя. Если пользователь уже существует, всё работает нормально, но если новый пользователь хочет пройти один из курсов, его перенаправляют в Discourse для создания аккаунта, после чего он должен пройти проверку по электронной почте и войти в систему. После этого он попадает в стандартные помощники «Добро пожаловать в Discourse», что отлично подходит для пользователей, зарегистрировавшихся через Discourse, но если они зарегистрировались ради прохождения учебного курса, это вызывает путаницу. Мне бы хотелось иметь возможность сразу перенаправлять их обратно в соответствующую часть сайта WordPress.

Существует ли встроенный способ передать URL перенаправления при регистрации через DiscourseConnect, чтобы система знала, куда вернуть пользователя после завершения регистрации, или хотя бы чтобы я мог включить эту ссылку в сообщение? Это отлично работает, когда пользователь уже существует; проблема возникает только при регистрации.

Если вы настроили WordPress как клиент Discourse (а Discourse — как провайдер) стандартным способом, ваши пользователи должны автоматически перенаправляться обратно на ваш сайт WordPress после регистрации.

Я настроил https://wordpress.pavilion.tech в качестве клиента для https://test.pavilion.tech, чтобы продемонстрировать это.

  1. Перейдите на страницу входа в WordPress.
  2. Нажмите «Войти через Discourse», и вас перенаправит на test.pavilion.tech.
  3. Создайте аккаунт в появившемся модальном окне регистрации Discourse.
  4. Перейдите по ссылке в письме с подтверждением аккаунта, которое вы получите.
  5. Вас перенаправит обратно на WordPress.

Какой этап этого процесса не работает у вас?

Удивительно, теперь всё работает идеально. Но когда я публиковал это сообщение, я только что наблюдал, как это не сработало для пользователя, проходившего регистрацию. Возможно, возникла путаница между окном браузера, в котором он регистрировался, и окном браузера, в котором он подтверждал действие.

В любом случае, это описывает ситуацию идеально, большое спасибо. Я не мог найти в документации раздел, объясняющий, как должен выглядеть этот процесс.