Ich habe mich also gefragt, ob dies etwas ist, das potenziell getan werden könnte – so wie meine Community eingerichtet ist, möchte ich nicht, dass Benutzer ihre Discord- oder Steam-Social-Login-Konten trennen können. Ich konnte das Steam-Login anpassen (niemand kann die Verknüpfung aufheben, nicht einmal das Personal), da es sich um ein externes Plugin handelt, aber ich bin mir nicht sicher, ob es eine Möglichkeit gibt, das Discord-Login zu ändern, da es jetzt mit Discourse gebündelt ist. Gibt es eine Möglichkeit, es so zu ändern, dass die Schaltfläche „Soziales Konto trennen“ nur für das Personal sichtbar/funktionsfähig ist? Nur in seltenen Fällen würde ich wollen, dass Konten getrennt werden, z. B. wenn der Benutzer das falsche Konto verknüpft hat, aber um die Rangsynchronisierung mit meinem Discord zu ermöglichen, scheint es seltsam, wenn sie es nach eigenem Ermessen einfach trennen können. Ich glaube nicht, dass ein Plugin in diesem Fall funktionieren würde, aber ich kann mich irren – ich weiß einfach nicht wirklich, wie eine solche Funktion hinzugefügt werden könnte.
Du könntest es mit CSS ausblenden. Ich stelle mir vor, dass die Wegnahme ihrer Fähigkeit zu entscheiden, ob sie diese Anmeldeinformationen mit dir teilen, eine Verletzung der Nutzungsbedingungen darstellt, aber vielleicht ist meine Vorstellungskraft zu wild.
Ja, guter Punkt bezüglich der Nutzungsbedingungen, daran habe ich gar nicht gedacht. Ich weiß, dass man bei Discord den Zugriff dort immer widerrufen kann. Das muss ich mir jetzt, wo du es erwähnst, durchlesen. Ich möchte hauptsächlich nicht, dass ein Benutzer die Verknüpfung aufhebt, da ich seine IDs für die Synchronisierung von Rängen und Sperren verwende. Wenn sie die Verknüpfung aufheben könnten, wäre es etwas mühsamer, sie zu sperren, und es könnte einem Benutzer ermöglichen, seine Ränge mit mehreren Discord-Konten zu synchronisieren. Ich lasse den Steam-Teil bei jedem Login synchronisieren, also gibt es dort keine Probleme.
EDIT: Ja, ich habe die Entwicklerdokumentation von Discord durchgelesen und nichts Auffälliges gefunden. Ich denke also, es ist in Ordnung, fortzufahren. Ein Benutzer kann die Verbindung zur App jederzeit über Discord trennen, aber ich bin mir nicht sicher, ob dies die Verknüpfung in Discourse aufhebt oder was genau passiert.
Hmm, nach weiterer Recherche glaube ich nicht, dass dies ohne Änderungen an Discourse und das Hinzufügen einiger zusätzlicher Einstellungen zum Kernprojekt oder die Verwendung meines eigenen Discord-Anbieters (was möglicherweise nicht ideal ist, da bereits einer integriert ist) möglich wäre.
Ich bin mir nicht sicher, ob dies jemals vom Discourse-Team unterstützt oder hinzugefügt wird, aber ich denke, ich muss ein externes System für meinen Gebrauch erstellen und werde nur Discourse SSO verwenden, um eine Verbindung zwischen Discourse und dem anderen System herzustellen. Für meine Zwecke werde ich nur Discourse-Social-Logins zum Anmelden bei Discourse verwenden und nichts weiter aufgrund dieser Einschränkung. Anstatt die gesamte Kontoverknüpfung und -zuordnung über das Discourse-Profil des Benutzers vorzunehmen, muss ich stattdessen das erwähnte Tool verwenden, das ich bereits zur Überprüfung von Dingen verwende, die über OAuth oder ähnliches nicht möglich sind.
Ich werde dies nicht als Lösung markieren, da es keine direkte Lösung für meine ursprüngliche Frage ist, sondern eine Lösung für meinen speziellen Anwendungsfall.
Eine andere Lösung könnte darin bestehen, die ID in ein benutzerdefiniertes Feld des Benutzers einzufügen und es über die API zu aktualisieren. Oder ein Plugin, das dies beim Einloggen tut. (Ich habe das Thema nicht sorgfältig gelesen).
