Evitar desvincular cuentas sociales

Eso cumpliría parcialmente el objetivo, pero ¿alguien sabría si existe una forma de hacerlo imposible? Teóricamente, podrían simplemente entrar al inspector de elementos del navegador y mostrarlo de nuevo.

Edición: Tras investigar un poco sobre esto, encontré lo siguiente: discourse/lib/auth/managed_authenticator.rb at main · discourse/discourse · GitHub

Lo que me pareció interesante fue la parte de “can revoke” (puede revocar), aunque no estoy muy seguro de si puedo modificar la autenticación integrada de Discord. ¿Alguien sabe si esto sería posible?

Edición 2: Intenté modificar el inicio de sesión de Steam en Discourse, pero no tuve éxito (probablemente debido a mi falta de conocimientos de Ruby), pero esto es lo que intenté:

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

Como referencia, el archivo que modifiqué pertenece a esta extensión.

Edición: Estaba editando totalmente la parte incorrecta del plugin. Logré desactivar la función por completo para Steam. Ahora solo necesito averiguar cómo hacer lo mismo con el inicio de sesión de Discord, ya que ese es un archivo central.