Ich möchte Benutzer-E-Mails automatisch ändern können, ohne dass eine Bestätigungs-E-Mail gesendet werden muss, und zwar über einen Admin-API-Aufruf. Mir ist es recht, wenn dieses Plugin Open Source wird oder sogar als Pull Request in das Discourse-Kernsystem integriert wird (falls der Hauptentwickler solche Funktionen hinzufügen möchte).
Mein Anwendungsfall ist folgender: Ich verifiziere die Benutzer-E-Mail mit meinem eigenen Code. Daher ist keine weitere Verifizierung durch Discourse erforderlich.
Soweit ich weiß, verfügt Discourse nicht über einen API-Aufruf, um die E-Mail-Adresse eines Benutzers ohne Bestätigung zu ändern. Es gibt jedoch einen Shell-Befehl, um dies zu tun, der jedoch für meine Situation nicht geeignet ist.
Ich habe meine eigene API mit PHP geschrieben.
Ich weiß wirklich nicht, wie viel Aufwand das erfordert. Der Code ist bereits als Shell-Befehl im Kern implementiert. Ich bin mir nicht sicher, wie viel Aufwand es erfordert, dies über die API bereitzustellen.
SSO unterstützt bereits die externe E-Mail-Verifizierung. Das WordPress-Plug-in verarbeitet dies beispielsweise bereits, wenn WordPress die autoritative Identitätsquelle ist.
Nein, ich habe kein SSO implementiert. Ich verifiziere die E-Mail-Adresse des Benutzers einfach auf andere Weise und muss sie über einen API-Aufruf ohne weitere Bestätigung ändern.
Wie bereits erwähnt, ist meine API in PHP geschrieben.
Ich habe eine Anwendung, und mein Forum ist mit dem Benutzerprofil in meiner Anwendung verknüpft. Benutzer können ihre E-Mail-Adresse in meiner Anwendung ändern, und ich möchte, dass die E-Mail-Adresse des Discourse-Benutzers automatisch ebenfalls aktualisiert wird.
Entschuldigung, ich weiß nicht, was ein IdP ist. Was SSO angeht: Da ich bereits eine große Benutzerbasis habe, würde die Implementierung eines SSO für mein Discourse die Konten der aktuellen Benutzer ungültig machen, und sie müssten sich erneut verifizieren. Das möchte ich vermeiden. Mein Problem wäre viel einfacher gelöst, wenn ich die E-Mail-Adresse ohne Bestätigung über einen API-Aufruf ändern könnte.
Entschuldigung, ich sollte nicht so sicher sein, da ich nur begrenztes Wissen zu diesem Thema habe. Aber soweit ich es verstehe, müssen sich Benutzer laut der folgenden Aussage beim SSO-Anbieter verifizieren.
Ich meine: Wenn ein Benutzer in Discourse registriert ist, sich aber nicht beim SSO-Anbieter registriert hat, muss er sich beim SSO-Anbieter registrieren, wenn ich SSO aktiviere. Oder?
Was hindert Sie daran, die Benutzerliste in das von Ihnen eingesetzte SSO-System zu exportieren?
Sie haben nicht näher erläutert, wie Sie derzeit E-Mail-Adressen verifizieren oder warum das oben Genannte wirklich notwendig ist. Es könnte einen einfacheren Weg geben, all dies zu erreichen, wenn Sie einige von Jays Fragen beantworten.
Warum lassen Sie Discourse nicht die Verifizierung übernehmen, anstatt E-Mails extern selbst zu verifizieren und sich dann auf Code zu verlassen, um die Discourse-Datenbank zu manipulieren?
Können wir sie mit ihrem Passwort exportieren? Falls ja, bitte teile mir mit, ob es dazu eine Dokumentation gibt.
Wie bei Discourse sende ich einen E-Mail-Link zur Verifizierung der E-Mail.
Das wollte ich auch. Das Problem ist, dass ich sofort über die E-Mail-Bestätigung informiert werden muss. Discourse bot jedoch keinen User-Webhook für Änderungen an E-Mail/Benutzername an.
Warum lässt du Discourse nicht einfach die SSO für dich übernehmen und beziehst die Identität direkt von Discourse? Auf diese Weise musst du dich nie wieder um die E-Mail-Bestätigung kümmern.
Du bittest um eine vermeintliche Lösung, ohne uns hier das vollständige Bild zu liefern. Es gibt viele gute Gründe, keine Möglichkeit zum Umgehen der E-Mail-Bestätigung zu wollen. Das Betreiben verschiedener Systeme wird nur dazu führen, dass du später viel unnötigen Aufwand hast.
Weil Discourse mir keine Telefonauthentifizierung ermöglicht. Ich benötige eine Lösung, die sowohl E-Mail- als auch Telefonverifizierung/-authentifizierung gleichzeitig bewältigen kann.
Okay, kurz gesagt: Da der OP genau weiß, was er braucht, kann ich ein Plugin entwickeln, das eine API-Aufruf-Funktion zum Ändern der E-Mail-Adresse eines Benutzers bietet (ohne E-Mail-Versand oder andere Aktivierungsschritte), für 200 US-Dollar.