Предотвратить отключение социальных аккаунтов

Я использую Discourse для игрового сообщества, где возможность отвязать аккаунты Steam и Discord не имеет смысла и может привести к проблемам. Как запретить пользователям отвязывать аккаунты? Я знаю, что плагин SAML предотвращает это, но так как я использую Discourse для синхронизации рангов как в игре, так и в Discord, мне очень не хочется, чтобы пользователи отменяли привязку. В идеале я бы предпочёл, чтобы отвязка осуществлялась только вручную.

Кстати, со стороны администратора можно ли отображать Steam64 ID и Discord ID? Они не являются конфиденциальными, и было бы очень удобно иметь эту информацию под рукой. Кроме того, эти данные не передаются через API, который для моих задач довольно ограничен.

Вы можете скрыть кнопку удаления с помощью этого кода. Тогда пользователи не смогут её отключить?

.btn-danger, .json-schema-editor-modal .json-editor-btn-delete {
    display: none;
}

Это частично решило бы задачу, но знает ли кто-нибудь, как сделать это невозможным? Теоретически они могли бы просто открыть «Проверку элементов» в браузере и снять скрытие.

Редактирование: после некоторых исследований я нашёл это: discourse/lib/auth/managed_authenticator.rb at main · discourse/discourse · GitHub

Меня заинтересовала часть «can revoke» (может отозвать), но я не уверен, что смогу изменить встроенную аутентификацию Discord. Знает ли кто-нибудь, возможно ли это?
Редактирование 2: Я попытался изменить вход через Steam в Discourse, но безуспешно (вероятно, из-за недостатка знаний в Ruby). Вот что я пробовал:

# frozen_string_literal: true

# name: Steam authentication with Discourse
# about: Authenticate with Discourse with Steam
# version: 2.0.1
# author: J. de Faye, tgxworld

# omniauth-openid is not included in core since v2.4.0.beta10
unless defined? OmniAuth::Strategies::OpenID
  gem 'ruby-openid', '2.9.2', require: false
  gem 'rack-openid', '1.3.1', require: false
  gem 'omniauth-openid', '1.0.1'
end

gem 'omniauth-steam', '1.0.6'

register_svg_icon "fab-steam" if respond_to?(:register_svg_icon)

def can_revoke?
  false
end

register_asset 'stylesheets/steam-login.scss'

[
  "../lib/auth/steam_authenticator.rb",
  "../lib/validators/enable_steam_logins_validator.rb"
].each { |path| load File.expand_path(path, __FILE__) }

auth_provider authenticator: Auth::SteamAuthenticator.new, icon: 'fab-steam'

Для справки, файл, который я изменял, взят из этого расширения: this.

Редактирование: Я редактировал совершенно не ту часть плагина. Мне удалось полностью отключить эту функцию для Steam. Теперь мне нужно понять, как сделать то же самое для входа через Discord, так как это системный файл.