Я настроил Discourse Connect для единого входа. Теперь я хочу разделить пользователей, пришедших с форума, и тех, кто зарегистрировался напрямую на основном сайте. Как добавить пользовательский параметр для идентификации пользователей, пришедших с форума? Предоставляет ли Discourse какой-либо параметр ‘signup_source’ в URL?
Использовать external_id?
external_id — это идентификатор, который передаётся из приложения в Discourse при создании пользователя (в данном случае приложение выступает провайдером идентификации).
Нам нужен параметр в URL, который Discourse отправляет нам при клике на кнопку входа. Предоставляет ли Discourse такую возможность?
Я не совсем понимаю проблему, которую вы пытаетесь решить, но вы можете добавить параметр запроса в настройку сайта discourse_connect_url в Discourse. Например: http://localhost:1234/sso?site=foo
Этот параметр запроса сохранится, когда Discourse перенаправит пользователей на сайт провайдера аутентификации SSO при входе в Discourse.
Для контекста: я считаю, что это один из возможных подходов для того, чтобы один провайдер DiscourseConnect мог аутентифицировать пользователей на нескольких сайтах Discourse. Однако для реализации потребуется больше деталей.
Если это не решает вашу проблему, возможно, попробуйте ещё раз объяснить, чего вы хотите добиться.
Привет, @simon, спасибо за ваш вклад.
Краткая версия: Нам нужно получить аналог параметра UTM для отслеживания пользователей, которые регистрируются через форум Discourse. Мы включили SSO для объединения регистрации в продукте и на форуме. Идея состоит в том, чтобы понять, какие посетители регистрируются через форум, и отделить их от тех, кто регистрируется через наш веб-сайт.
Подробная версия: Посетители, регистрирующиеся на нашем веб-сайте, получают цепочку писем. Мы хотим создать отдельную цепочку писем для пользователей, пришедших с форума, так как их намерения отличаются. Для этого нам нужен тег, чтобы идентифицировать пользователей, пришедших с форума, в нашем инструменте управления данными.
Интересует, предоставляет ли Discourse какую-либо идентификацию для этого?
Надеюсь, формулировка проблемы теперь ясна?
Да, это имеет смысл.
Когда пользователь нажимает кнопку «Войти» в Discourse, его перенаправляют на URL вашего сайта, который вы добавили в настройку discourse connect url на Discourse. Этот URL будет содержать параметры запроса sso и sig.
Если у пользователя ещё нет аккаунта на вашем сайте, я предполагаю, что вы проводите его через процесс регистрации на сайте. Возможно, стоит обновить код на вашем сайте, чтобы он проверял наличие этих параметров запроса и добавлял некоторые метаданные в запись пользователя, указывающие на то, что регистрация была инициирована из Discourse, если параметры присутствуют.