Zwei-Wege-Synchronisierung zwischen WP Discourse-Benutzernamen und Discourse-Benutzernamen?

Ich habe diesen Beitrag in die Kategorie Support > WordPress verschoben, da die Kategorie Contribute > Feature für Discourse-eigene Features gedacht ist.

Das Feld „Discourse-Benutzername bearbeitbar“ im WordPress-Plugin ist möglicherweise schlecht benannt. Die Beschreibung der Einstellung muss auf jeden Fall aktualisiert werden, um klarzustellen, wofür sie gedacht ist. Wenn die Einstellung „Discourse-Benutzername bearbeitbar“ aktiviert ist, können Benutzer auf der WordPress-Seite ihren Discourse-Benutzernamen in ihrem WordPress-Profil festlegen. Ist diese Einstellung nicht aktiviert, kann nur ein Administrator auf der WordPress-Seite den Discourse-Benutzernamen des Benutzers festlegen. Der Discourse-Benutzername wird vom Plugin ausschließlich zum Veröffentlichen von Beiträgen von WordPress nach Discourse verwendet.

Wenn DiscourseConnect zwischen WordPress und Discourse verwendet wird, wird der Discourse-Benutzername des Benutzers zunächst aus seinem WordPress-Benutzernamen übernommen. Wenn die Einstellung auth_overrides_username auf der Discourse-Seite aktiviert ist, kann der Benutzername auf Discourse nur aus WordPress festgelegt werden. Ist die Einstellung auth_overrides_username auf Discourse nicht aktiviert, können Benutzer ihren Benutzernamen auf Discourse bearbeiten, wodurch die Benutzernamen zwischen den beiden Systemen nicht mehr synchron sein könnten.

Hinsichtlich des Feldes „Discourse-Benutzername“ wäre es ideal, wenn dieses Feld immer im Hintergrund basierend auf dem Discourse-Benutzernamen gesetzt würde. Ich habe mich mit dem zugehörigen Code nicht mehr lange beschäftigt, aber ich glaube, das Feld „Discourse-Benutzername“ wird automatisch ausgefüllt, wenn die WordPress-Seite als SSO-Anbieter für Discourse verwendet wird und die Option „Discourse-Benutzer beim Login erstellen oder synchronisieren“ auf dem Tab „DiscourseConnect-Provider-Optionen“ in WordPress aktiviert ist. Das Feld „Discourse-Benutzername“ wird auch automatisch festgelegt, wenn Discourse als SSO-Anbieter für WordPress verwendet wird (mit der DiscourseConnect-Client-Einstellung).

Idealerweise sollte das Feld „Discourse-Benutzername“ immer automatisch gesetzt werden, wenn WordPress der SSO-Anbieter für Discourse ist, unabhängig davon, ob die Option „Discourse-Benutzer beim Login erstellen oder synchronisieren“ auf Discourse aktiviert ist. Ich denke, für den Fall, dass DiscourseConnect zwischen den beiden Seiten nicht verwendet wird, kann nichts unternommen werden, aber @angus könnte dazu Ideen haben.

Standardmäßig erlaubt WordPress Benutzern nicht, ihre Benutzernamen zu ändern, daher hatten wir dazu nicht viele Fragen. Wenn Sie sicherstellen möchten, dass die Benutzernamen zwischen WordPress und Discourse synchron gehalten werden, aktivieren Sie die Einstellung auth_overrides_username auf Discourse. Möglicherweise möchten Sie auch die Option „Discourse-Benutzer beim Login erstellen oder synchronisieren“ auf WordPress aktivieren. Mit aktivierter Option werden Benutzer bei jedem Login auf Ihrer WordPress-Seite auf Discourse aktualisiert. Ist diese Option nicht aktiviert, werden Benutzer auf Discourse nur aktualisiert, wenn sie sich von Discourse abmelden und sich anschließend mit DiscourseConnect wieder anmelden.