Настройка входа через Discord для Discourse

:bookmark: Это руководство объясняет, как настроить Discord в качестве варианта входа для вашего форума Discourse, включая ограничение доступа к конкретным серверам (guilds) Discord.>

:person_raising_hand: Требуемый уровень доступа пользователя: Администратор

После настройки Discord появится как вариант входа наряду с другими методами аутентификации на вашем форуме:

Настройка Discord OAuth2

Создание приложения Discord

  1. Перейдите на портал разработчиков Discord
  2. Нажмите «New Application» (Создать приложение)
  3. Введите название, загрузите иконку и добавьте описание для вашего приложения
    • Эти данные будут отображаться пользователям в процессе входа

Настройка параметров OAuth2

  1. Перейдите на вкладку «OAuth2» в левой боковой панели

  1. Скопируйте «Client ID» (Идентификатор клиента) и «Client Secret» (Секрет клиента)
    • Если секрет не отображается, нажмите «Reset Secret» (Сбросить секрет), чтобы сгенерировать новый
  2. Добавьте ваш URL перенаправления:
    • Формат: https://ваш-сайт-discourse.com/auth/discord/callback
    • :warning: Не добавляйте завершающий слэш
  3. Нажмите «Save Changes» (Сохранить изменения)

Включение входа через Discord в Discourse

  1. В настройках администратора Discourse введите Client ID в настройку discord_client_id
  2. Введите Client Secret в настройку discord_secret
  3. Включите настройку enable_discord_logins

Ограничение доступа к конкретным серверам Discord

Вы можете ограничить вход через Discord только для участников конкретных серверов Discord (guilds).

Поиск ID сервера (guild ID)

  1. Откройте Discord в браузере
  2. Перейдите в любой канал вашего сервера
  3. Посмотрите на URL: https://discord.com/channels/{guild_id}/{channel_id}
  4. Скопируйте первое число (guild_id) из URL
    • Пример: В https://discord.com/channels/123/456 ID сервера — 123

Настройка ограничений по серверам

  1. В настройках администратора Discourse найдите настройку discord_trusted_guilds
  2. Добавьте ID ваших серверов
    • При необходимости можно добавить несколько ID серверов

При включенном ограничении по серверам:

  • Участники доверенных серверов будут входить в систему как обычно
  • Другие пользователи увидят сообщение об ошибке
  • Вы можете настроить это сообщение в разделе Настроить → Текст, поискав discord.not_in_allowed_guild

:warning: Если вы используете ограничения по серверам для обеспечения безопасности, отключите все остальные методы входа в настройках Discourse.

Следующие шаги

Рассмотрите возможность установки плагина chat-integration, чтобы отправлять важные темы Discourse в каналы Discord.

34 лайка