| Краткое описание | Проверяет, что пользователь владеет указанным аккаунтом GitHub | |
| Ссылка на репозиторий | GitHub - discourse/discourse-github-verification: Verifies that a Discourse user is the owner of a Github account · GitHub | |
| Руководство по установке | Как установить плагины в Discourse |
Возможности
Этот плагин позволяет пользователям подтвердить, что они владеют указанным аккаунтом GitHub. Это отдельно от входа через GitHub. Плагин просто отображает ссылку на аккаунт GitHub пользователя на его карточке и в профиле.
В настройках пользователя появляется новая вкладка (GitHub). Если пользователь ещё не подключил свой аккаунт, ему будет показана кнопка для подключения к GitHub. Если аккаунт уже подключён, пользователь увидит ссылку на свой аккаунт GitHub и кнопку для отключения аккаунта GitHub от профиля Discourse.
Если у пользователя подключён аккаунт GitHub, ссылка на него будет отображаться на карточке пользователя и в его профиле.
Плагин добавляет административный API-эндпоинт /github-verification/users.json, который возвращает массив всех пользователей с подключённым аккаунтом GitHub. Ответ выглядит следующим образом:
[
{
"id": 1,
"username": "markvanlan",
"github_username": "markvanlan"
}
]
Настройка
Создание OAuth-приложения в GitHub
-
Следуйте инструкциям GitHub по созданию OAuth-приложения. В настройках OAuth-приложения необходимо указать два важных параметра:
-
URL главной страницы — главная страница вашего экземпляра Discourse (например,
https://meta.discourse.org) -
URL обратного вызова авторизации — главная страница вашего экземпляра Discourse плюс “/github-verification” (например,
https://meta.discourse.org/github-verification)
-
Настройка параметров Discourse
Параметры можно найти по адресу /admin/site_settings/category/all_results?filter=discourse_github_verification.
-
discourse github verification enabled — включает плагин при установке галочки в панели настроек сайта (
/admin/site_settings/category/all_results?filter=discourse_github_verification). -
discourse github verification client id — идентификатор клиента (Client ID) вашего OAuth-приложения GitHub.
-
discourse github verification client secret — секретный ключ клиента (Client secret) вашего OAuth-приложения GitHub.
Важное замечание
Этот плагин не учитывает существующую конфигурацию входа через GitHub. Discourse поддерживает эту функцию по умолчанию, но плагин discourse-github-verification не использует существующие настройки github client id и github client secret сайта. В случае, если они уже заполнены, их, вероятно, можно было бы использовать вместо дублирования настроек. Также плагин не знает, входил ли пользователь в Discourse через GitHub ранее. Было бы удобно автоматически определять это.
Благодарим компанию Sailpoint за спонсирование этой работы и открытие исходного кода проекта ![]()



