Ich werde DiscourseConnect Provider aktivieren und habe ein paar Fragen:
Kann ich Benutzer weiterhin nachahmen und nach der Aktivierung dieses Dienstes auf alle Benutzeradministrationssteuerungen innerhalb von Discourse zugreifen?
Was passiert mit denen, die bereits auf Discourse existieren, aber nicht auf WP? Werden ihre Konten betroffen sein, welche Anmeldeinformationen würden sie verwenden, da sie auf WP nicht wirklich existieren?
Wie kann ich einen Anmeldebutton auf meiner Discourse-Website hinzufügen, der sie nach der Anmeldung auf WP zurück zu Discourse leitet?
Gibt es eine Möglichkeit, dass sich Benutzer mit dieser aktivierten Einstellung weiterhin NUR auf Discourse anmelden können?
Ich habe das gerade getestet. Ich habe ein Konto genommen, das auf Discourse, aber nicht auf Wordpress existiert, und versucht, mich anzumelden. WP gab die folgenden Fehler aus:
Was aus WP-Sicht sinnvoll ist, da der Benutzer auf WP nicht wirklich existiert.
Die Frage ist: Würde die Aktivierung des DiscourseConnect-Anbieters bedeuten, dass bestehende Discourse-Benutzer, die nicht auf meinem WP registriert sind, sich nicht mehr anmelden können?
Gibt es dafür eine Lösung?
Ich habe diese Antwort gefunden, die auf Ihren Vorschlag eingeht:
Aber wie kann ich sie in WP importieren, ohne ihre aktuellen Discourse-Login-Daten zu beeinträchtigen?
Gibt es eine Möglichkeit, dies zu tun, ohne die Anmeldungen der Benutzer zurückzusetzen oder sie überhaupt zu benachrichtigen, damit es ein nahtloser Wechsel ist?
Ich bezweifle es. Es gibt ein Discourse-Plugin, das migrierte Passwörter von WordPress ermöglicht, aber ich bezweifle, dass es eines gibt, das in die andere Richtung funktioniert. Sie müssen sie alle ihr Passwort zurücksetzen lassen.
Bis Sie zur WP-Anmeldung wechseln, haben die auf WordPress vorhandenen Konten keinen Einfluss auf Discourse.
Was wäre, wenn ich WordPress als Discourse-Client aktivieren und dann ein Automatisierungsskript erstellen würde, das:
Ein Benutzerkonto auf Discourse impersoniert, damit die Automatisierung als Benutzer angemeldet ist
Zu WordPress navigiert und auf die Schaltfläche „Mit Discourse anmelden“ klickt.
Wiederholen Sie dies für alle Benutzer, die auf Discourse existieren. Ungefähr 2.000.
Die Idee ist, dass Schritt Nr. 2 WP dazu zwingt, ein Konto für den Discourse-Benutzer mit denselben Anmeldeinformationen zu erstellen. Ich gehe auch davon aus, dass die Schaltfläche „Mit Discourse anmelden“ automatisch funktioniert, ohne nach einem Passwort zu fragen, wenn ich als Benutzer angemeldet bin und ihn impersoniere.
Sobald ich dies für alle Benutzer getan habe, würden ihre Konten in WP existieren und ich könnte WP auf den Discourse-Anbieter umstellen?
Es scheint theoretisch sinnvoll zu sein, aber ich würde gerne Ihr Feedback dazu hören, ob dies funktionieren könnte.
Wir haben mehrere Premium-Mitgliederkurse und -veranstaltungen, die auf unserer WP-Website stattfinden, und ich möchte eine nahtlose Integration zwischen WP und Discourse.
Was sind die Nachteile, dies zu tun? und warum sagen Sie das…
OK. Wenn Sie dann Discourse-Benutzer in WordPress haben, müssen Sie sicherstellen, dass alle diese Benutzer ein Konto in WordPress haben. Wenn sie es mit derselben E-Mail-Adresse erstellen, sollten sie bei der Anmeldung mit ihrem Discourse-Benutzer verbunden werden.
Wie Jay bereits bemerkt hat, ist der beste Weg, dies zu erreichen, die Konfiguration Ihrer WordPress-Website als SSO-Anbieter für Discourse. Schauen Sie sich diesen Beitrag an, um Details zur Einrichtung zu erhalten: Configure single sign-on (SSO) with WP Discourse and DiscourseConnect.
Nach der Konfiguration von WordPress als DiscourseConnect-Anbieter müssen sich Discourse-Benutzer, die noch keine Konten auf Ihrer WordPress-Website haben, auf WordPress registrieren, bevor sie auf Ihre Discourse-Website zugreifen können. Sie sollten Ihrer Discourse-Website eine Nachricht hinzufügen, um die Benutzer über die Änderung zu informieren. Ermutigen Sie die Benutzer in der Nachricht, sich auf WordPress mit derselben E-Mail-Adresse zu registrieren, die sie auch in Discourse verwenden. Auf diese Weise werden sie beim ersten erneuten Anmelden bei Discourse über WordPress in ihrem bestehenden Discourse-Konto angemeldet.
Wenn sich Benutzer nicht mit der E-Mail-Adresse, die sie in Discourse verwenden, auf WordPress registrieren, wird bei der ersten erneuten Anmeldung bei Discourse über WordPress ein neues Konto für sie erstellt. Dieses Problem können Sie von Fall zu Fall lösen, indem Sie das alte Discourse-Konto mit dem neuen Discourse-Konto zusammenführen. Dies kann über die Discourse-Adminseite des Benutzers erfolgen.
Eine Sache, die Sie beachten sollten, ist, dass das Verhalten, dass Benutzer in ihrem bestehenden Discourse-Konto angemeldet werden, nur funktioniert, wenn die E-Mail-Adressen auf der WordPress-Seite als „gültig“ markiert sind. Wenn Sie das Standard-WordPress-Registrierungssystem verwenden, funktioniert dies ohne Probleme. Wenn Sie eine benutzerdefinierte Registrierungsseite verwenden, die von einem Plugin hinzugefügt wurde, ist es wahrscheinlich, dass die E-Mail-Adressen der Benutzer nicht als „gültig“ markiert werden. Details zur Behebung dieses Problems finden Sie hier: Configure single sign-on (SSO) with WP Discourse and DiscourseConnect. Beachten Sie, dass es sehr wichtig ist, dass Sie E-Mail-Adressen nicht einfach blind akzeptieren, ohne sie in irgendeiner Weise zu validieren. Wenn E-Mail-Adressen nicht validiert werden, riskieren Sie die Übernahme bestehender Konten.
Es sieht so aus, als ob Sie das Standard-Registrierungssystem von WordPress verwenden. Ich gehe davon aus, dass Ihre Anmeldeseite unter wp-login.php liegt. Das bedeutet, dass das WP Discourse-Plugin die E-Mail-Adressen der Benutzer als verifiziert markieren wird.
Sendet Discourse immer noch E-Mails, wenn ein Discourse Connect-Anbieter eingerichtet ist, sendet Discourse immer noch E-Mail-Benachrichtigungen an WP-Benutzer?
Wie funktioniert das, wenn jemand ein WP-Benutzer ist, aber noch nie auf das Forum zugegriffen hat, im Gegensatz zu jemandem, der ein WP-Benutzer ist und auf das Forum zugreift.
Ja, Discourse sendet ihnen immer noch E-Mails. E-Mail-Benachrichtigungen, die von Discourse gesendet werden, sind nicht davon betroffen, dass Discourse Connect als Authentifizierungssystem verwendet wird.
Ein Benutzer auf Ihrer WordPress-Site, der noch nie auf Discourse zugegriffen hat, wird nicht als Benutzer auf Discourse betrachtet. Er erhält keine E-Mail-Benachrichtigungen von Discourse. Die einzige Ausnahme ist, wenn Sie die Einstellung „Discourse-Benutzer bei der Anmeldung erstellen oder synchronisieren“ von WP Discourse aktivieren:
Wenn diese Einstellung aktiviert ist, wird automatisch ein Discourse-Konto für Benutzer erstellt, wenn sie sich auf Ihrer WordPress-Site anmelden. In diesem Fall erhält ein Benutzer, der sich bei WordPress angemeldet hat, aber Ihre Discourse-Site noch nie besucht hat, die wöchentliche Digest-E-Mail von Ihrer Discourse-Site.
Ich habe das gerade getestet und es scheint nicht der Fall zu sein. Wie kann ich sicherstellen, dass die E-Mails der Benutzer jetzt verifiziert werden, ohne dies manuell tun zu müssen?
Außerdem, wie können sich neue Benutzer anmelden und auch ihre E-Mail verifizieren lassen? Derzeit leiten wir sie zu wp-login.php weiter, das keine Option zur Anmeldung hat, nur zur Anmeldung.
Ich kann einen neuen Button im Forum erstellen, der ‘Anmelden’ heißt und sie zu einer benutzerdefinierten Anmeldeseite innerhalb von WP weiterleitet, aber dann gibt es ein Problem:
Zusätzlich dazu möchte ich sie nach der Anmeldung zurück zum Forum weiterleiten und sicherstellen, dass sie angemeldet sind.
Ich untersuche auch einen anderen Ansatz, von dem ich glaube, dass er die Dinge aus der Benutzerperspektive erleichtern würde, und würde gerne Ihre Meinung dazu hören.
Was wäre, wenn wir alle Discourse-Benutzer manuell exportieren und in WordPress importieren würden? Dieser Prozess würde
Für jeden Benutzer, der auf Discourse existiert, ein WordPress-Konto erstellen
Dieses Konto mit ihrem Forum-Profil verknüpfen
Ihre E-Mail-Adresse in WP als verifiziert markieren. Da sie bereits Discourse-Benutzer sind, können wir davon ausgehen, dass sie verifiziert sind.
Ihnen eine E-Mail senden, in der sie aufgefordert werden, ihr Forum-Passwort zurückzusetzen (da Schritt 1 es zurücksetzen würde)
Auf diese Weise müssen sie kein neues Konto für sich selbst erstellen und müssen nur ihr Passwort zurücksetzen.
Dieser Prozess löst die Fragen/Probleme, die ich in der Antwort über dieser hervorgehoben habe, nicht.
Sie können bestätigen, ob E-Mail-Adressen verifiziert werden oder nicht, indem Sie ein neues Konto in WordPress erstellen, nachdem Sie Discourse Connect aktiviert haben. Wenn E-Mail-Adressen verifiziert werden, sehen Sie eine Bestätigung am unteren Ende der Einstellungsseite des Benutzers. Sie können auch eine E-Mail-Adresse manuell als verifiziert markieren:
Wenn E-Mail-Adressen nicht verifiziert werden, finden Sie hier Anweisungen, wie Sie E-Mail-Adressen als verifiziert markieren, wenn ein Benutzer ein Konto erstellt: Configure single sign-on (SSO) with WP Discourse and DiscourseConnect. Dies wäre sicher zu tun, wenn Ihre Website den Benutzern eine Bestätigungs-E-Mail sendet, die einen Link enthält, den sie anklicken müssen, bevor sie auf die Website zugreifen können. Wenn Ihre WordPress-Website dies nicht tut, könnten Sie auch Code hinzufügen, damit die E-Mail-Adressen der Benutzer nach der Registrierung für einen Ihrer Kurse als verifiziert markiert werden. Die Einrichtung erfordert möglicherweise Hilfe von einem Entwickler.
Ich sehe zwei separate Anmeldeseiten auf Ihrer Website:
https://projectvanlife.com/login/ (enthält einen Link zu Ihrer Registrierungsseite, aber das Klicken auf den Link führt mich zu einer “nicht gefunden”-Seite)
Das Einfachste wäre, dies so zu regeln, dass es nur eine Anmeldeseite auf der Website gibt und die Seite einen gültigen Link zur Registrierungsseite der Website enthält. Ich vermute, dass dies über die Einstellungsseite des Plugins erreicht werden kann, das das Anmeldeformular hinzufügt. Beachten Sie, dass Sie, wenn Sie die Anmeldeseite unter https://projectvanlife.com/login/ verwenden möchten, /login zum “Pfad zu Ihrer Anmeldeseite” in den WP Discourse-Einstellungen hinzufügen müssen:
Ich denke, das könnte die Benutzer verwirren. Ein einfacherer Ansatz wäre, einfach einen Link zu Ihrem Discourse-Forum hinzuzufügen, der so strukturiert ist, dass sich Benutzer automatisch bei Discourse anmelden, wenn sie auf den Link klicken. Hier sind Details, wie Sie den Link erstellen: Create a DiscourseConnect login link. Sobald DiscourseConnect auf Ihrer Website aktiviert ist, sollten Sie diesen Link auch so strukturieren:
Das ist möglich. Einige Details dazu finden Sie hier: How to import Discourse users to WordPress? - #2 by simon. Das Hauptproblem, das ich sehe, ist, dass Sie sich selbst Arbeit machen würden, ohne es Ihren Benutzern viel einfacher zu machen. Wenn ich Sie wäre, würde ich mir Sorgen machen, dass Benutzer die E-Mail nicht erhalten oder lesen und einige Benutzer nicht glücklich darüber wären, dass in ihrem Namen ein neues Konto erstellt wird. Es gibt auch ein potenzielles Sicherheitsproblem, es sei denn, das von Ihnen verwendete Import-Plugin bietet eine Möglichkeit, Benutzer zu zwingen, ihre Passwörter nach der ersten Anmeldung zu ändern.
Es wäre viel einfacher, einfach ein Banner-Thema in Ihrer “Staff”-Kategorie mit Details zur Änderung zu erstellen. Die Formulierung in dem Screenshot könnte noch etwas verbessert werden:
Nachdem Sie die Änderung vorgenommen haben, aktualisieren Sie das Banner-Thema, um die Benutzer darüber zu informieren, dass sie sich bei Problemen mit der Anmeldung an einen Administrator wenden sollen.
Mir ist gerade etwas eingefallen, das helfen könnte. Sie könnten Ihre Discourse-Website vorübergehend als DiscourseConnect-Anbieter für Ihre Website konfigurieren, bis Sie Ihre WordPress-Website als DiscourseConnect-Anbieter einrichten. Wenn Sie dies tun würden, könnten Sie dem Banner-Thema etwas wie das Folgende hinzufügen:
Hier ist der vollständige Link, den ich verwendet habe:
<a href="http://wp-discourse.test/?discourse_sso=1&redirect_to=http://wp-discourse.test/wp-admin/profile.php" target="_blank">Erstellen Sie ein Konto auf (Ihr Website-Name)</a>
Wenn Sie darauf klicken, wird ein neues Konto in WordPress registriert und die Benutzer werden zu ihrer WordPress-Profilseite weitergeleitet, wo sie ein Passwort festlegen können. Beachten Sie, dass Sie in Ihrem Fall beide Verwendungen von http://wp-discourse.test im Link durch https://projectvanlife.com/ ersetzen müssen.