منع إلغاء ربط الحسابات الاجتماعية

هذا قد يحقق الهدف جزئيًا، لكن هل يعرف أحد ما إذا كانت هناك طريقة لجعل ذلك مستحيلًا؟ نظريًا، يمكنهم ببساطة الدخول إلى عنصر فحص المتصفح (Inspect Element) وإلغاء إخفائه.

تعديل: يبدو أنه بعد إجراء بعض البحث في هذا الشأن، وجدت هذا: discourse/lib/auth/managed_authenticator.rb at main · discourse/discourse · GitHub

ما وجدته مثيرًا للاهتمام هو جزء “can revoke”، لست متأكدًا تمامًا مما إذا كان بإمكاني تعديل مصادقة ديسكورد المدمجة. هل يعرف أحد ما إذا كان ذلك ممكنًا؟

تعديل 2: حاولت تعديل تسجيل الدخول عبر ستيم في ديسكورد لكنني لم أكن ناجحًا (ربما بسبب نقص معرفتي بلغة 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'

للمرجعية، الملف الذي عدلته هو من هذا الامتداد.

تعديل: كنت أعدل الجزء الخاطئ تمامًا من الامتداد، وقد تمكنت من تعطيل الميزة بالكامل لتسجيل الدخول عبر ستيم. الآن أحتاج فقط إلى معرفة كيفية القيام بذلك مع تسجيل الدخول عبر ديسكورد لأن ذلك ملف أساسي.