Использование пользовательской аутентификации

Всем привет :waving_hand:,

В данный момент пытаемся интегрировать аутентификацию на основе куки с нашего собственного сайта. У нас есть URL обратного вызова, к которому мы обычно передаем различные параметры для аутентификации пользователей, однако у нас возникают трудности с попыткой аутентифицировать пользователей в Discourse аналогичным образом.

Я экспериментировал с (GitHub - discourse/discourse-oauth2-basic: A basic OAuth2 plugin for use with Discourse · GitHub), но его интеграция с нашей конфигурацией оказывается сложной.

Есть ли способ настроить аутентификацию пользователей в Discourse так, чтобы мы могли использовать собственные методы? Готовы предоставить любую дополнительную информацию или код, если это потребуется. Любые советы будут очень кстати!

Привет, добро пожаловать в Meta! :grinning_face:

Это сильно зависит от того, как вы создали свою систему аутентификации.

Можете ли вы объяснить, как она работает, или предоставить URL вашего сайта?

Привет, Александр! В настоящее время процесс выглядит следующим образом:

  1. Пользователь вводит адрес электронной почты, получает магическую ссылку с различными параметрами URL (идентификатор пользователя, временная метка, хэш с секретным ключом для аутентификации сессии), которая ведет на наш обратный URL.
  2. После того как функция обратного вызова аутентифицирует пользователя, создается cookie и в базе данных формируется сессия.

Это относительно простая настройка, но она не очень совместима с плагинами OAuth2.

Привет, @cb-candor, как вы решили эту задачу? Мы реализуем идентичный вариант использования. Альтернативно, @Alexander, можете ли вы дать какие-либо советы?