Impedir Desvinculação de Contas Sociais

Estou usando o Discourse para uma comunidade de jogos, onde desassociar suas contas do Steam e do Discord não faz sentido e só causará problemas. Como posso impedir que os usuários desassociem as contas? Sei que o plugin SAML impede isso, mas, como usei o Discourse para facilitar a sincronização de ranks tanto no jogo quanto no Discord, realmente não quero que os usuários desvinculem as contas. Se for o caso, preferiria ter que desvincular manualmente.

Como observação lateral, do lado do administrador, seria possível exibir o Steam64 ID e os IDs do Discord? Eles não são realmente confidenciais, por assim dizer, e seriam informações muito úteis para ter prontamente disponíveis. Além disso, eles não são expostos via API, que é bastante limitada para o meu caso de uso.

Você pode ocultar o botão de exclusão com isso. Assim, os usuários não poderão desativar?

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

Isso resolveria parcialmente o problema, mas alguém saberia se há uma maneira de tornar isso impossível? Teoricamente, eles poderiam simplesmente entrar no inspecionar elemento do navegador e reexibir o conteúdo.

Edição: Depois de pesquisar sobre isso, encontrei o seguinte: discourse/lib/auth/managed_authenticator.rb at main · discourse/discourse · GitHub

O que achei interessante foi a parte “can revoke” (pode revogar), mas não tenho certeza se posso modificar a autenticação nativa do Discord. Alguém sabe se isso é possível?
Edição 2: Tentei modificar o login do Steam no Discourse, mas não tive sucesso (provavelmente devido à minha falta de conhecimento em Ruby), mas aqui está o que tentei:

# 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'

Para referência, o arquivo que modifiquei pertence a esta extensão.

Edição: Eu estava editando completamente a parte errada do plugin. Consegui desativar o recurso inteiramente para o Steam. Agora só preciso descobrir como fazer o mesmo com o login do Discord, já que esse é um arquivo do núcleo.