Проверка авторизации пользователя в Discourse с другого сайта

Это можно сделать с помощью DiscourseConnect (при этом Discourse выступает в роли провайдера аутентификации): Use Discourse as an identity provider (SSO, DiscourseConnect).

Я ещё не пробовал это, но параметр prompt может оказаться полезным в вашем случае:

  • prompt: Если prompt=none, то запрос SSO рассматривается как запрос «просто проверка». Если браузер/устройство уже авторизованы в Discourse, система вернёт успешный ответ SSO с информацией об аутентификации пользователя, как обычно. Если браузер/устройство не авторизованы, то Discourse не предложит пользователю войти в систему и сразу вернёт ответ SSO с параметром failed=true вместо информации о пользователе. Это предоставляет механизм проверки, авторизован ли пользователь, не перенаправляя его к диалогу входа, если он не авторизован.