Поток входа (Flask -> Discourse -> Flask) с OAuth

Привет!

У меня два взаимосвязанных вопроса, надеюсь, кто-то сможет помочь :slight_smile:

Я настроил свой экземпляр Discourse для поддержки OAuth через Twitter, Facebook и Google. Вот что я планирую сделать:

Сценарий 1:

  1. Пользователь попадает на /home (приложение Python/Flask).
  2. Он хочет зарегистрировать учётную запись в Discourse.
  3. Его перенаправляют в соответствующий поток OAuth, например, https://discourse.example.com/auth/google.
  4. Могу ли я перенаправить его обратно на /home после завершения регистрации?

Сценарий 2:

  1. Пользователь попадает на /home (приложение Python/Flask).
  2. У него уже есть учётная запись в Discourse.
  3. Он хочет войти в основное приложение через OAuth, чтобы получить доступ к защищённой странице.
  4. Его перенаправляют в соответствующий поток OAuth.
  5. Могу ли я перенаправить его на /user, как только Discourse проверит его учётные данные?

Пожалуйста, дайте знать, если что-то непонятно, и я с радостью уточню!

Спасибо!

На всякий случай, если вы ещё не видели, наша документация находится по адресу Discourse OAuth2 Basic. Есть ли там ответы на некоторые из ваших вопросов?

Спасибо за ответ, @rishabh!

К сожалению, насколько я могу судить, документация не отвечает на мои вопросы. Моя конфигурация OAuth работает как положено, проблемы возникают только с дополнительным функционалом, описанным в сценариях 1 и 2.

Мне нужен необязательный параметр callback_url, который перенаправлял бы пользователя на целевой URL после того, как провайдер OAuth подтвердит его учётную запись и вернёт его в Discourse.

Получается что-то вроде того, что мой экземпляр Discourse сам выступает в роли провайдера OAuth для моего приложения на Flask/Python?

Например: https://discourse.example.com/auth/google?callback_url=https://example.com/home перенаправляет пользователя в Google, возвращает его в Discourse, который, в свою очередь, перенаправляет его на callback_url.