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

**URL:** https://meta.discourse.org/t/configure-discord-login-for-discourse/127129
**Category:** Integrations
**Tags:** sso, how-to
**Created:** [30.Август.2019 09:54:29 UTC](https://meta.discourse.org/t/configure-discord-login-for-discourse/127129 "2019-08-30T09:54:29Z")
**Posts on this page:** 1
**Showing post:** 1

<div class="post-metadata">

### Author: ![Discourse](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/discourse/32/148734_2.png) [@Discourse](https://meta.discourse.org/u/Discourse)
#### Post date: [30.Август.2019 09:54:29 UTC](https://meta.discourse.org/t/configure-discord-login-for-discourse/127129/1 "2019-08-30T09:54:29Z")

</div>

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

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

 ![Discord login button](https://global.discourse-cdn.com/meta/original/3X/c/7/c742e90b2fdc30b7ac631a922084246e67688e4a.png)

## Настройка Discord OAuth2

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

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

 ![Discord application creation](https://global.discourse-cdn.com/meta/original/4X/4/6/4/46461e461f71115854973a916c8b3d5c0540b17e.png)

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

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

 ![OAuth2 settings tab](https://global.discourse-cdn.com/meta/original/4X/5/e/e/5eec41e7460b374a6b3e8bdcb4d1181280cfc256.png)

1. Скопируйте «Client ID» (Идентификатор клиента) и «Client Secret» (Секрет клиента)
  - Если секрет не отображается, нажмите «Reset Secret» (Сбросить секрет), чтобы сгенерировать новый

2. Добавьте ваш URL перенаправления:
  - Формат: `https://ваш-сайт-discourse.com/auth/discord/callback`
  - ⚠ Не добавляйте завершающий слэш

3. Нажмите «Save Changes» (Сохранить изменения)

 ![Redirect URL configuration](https://global.discourse-cdn.com/meta/original/3X/c/8/c88c02b31d9a1fa57f983325b305129b501c8873.png)

### Включение входа через 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`

 ![Guild restriction error](https://global.discourse-cdn.com/meta/original/3X/f/8/f85749b81c07fd4851cf10d483766d2155a1ae42.png)

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

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

Рассмотрите возможность установки плагина [chat-integration](https://meta.discourse.org/t/chatroom-integration-plugin-discourse-chat-integration/66522), чтобы отправлять важные темы Discourse в каналы Discord.

---

_[View the full topic](https://meta.discourse.org/t/configure-discord-login-for-discourse/127129)._
