Einrichtung von DiscourseConnect – Offizielles Single-Sign-On für Discourse (sso)

Es scheint, als ob Sie Discourse als SSO-Anbieter für WordPress verwenden. Dieser Ansatz wird hier beschrieben: Discourse als Identitätsanbieter verwenden (SSO, DiscourseConnect). Das Discourse WordPress-Plugin bietet Optionen, entweder WordPress als SSO-Anbieter für Discourse zu verwenden oder Discourse als Identitätsanbieter für WordPress zu verwenden. Die Verwendung desselben Namens für beide Ansätze führt zu einiger Verwirrung.

Ich wäre versucht, WordPress in diesem Fall als Identitätsanbieter zu verwenden. Mit diesem Ansatz erstellen Benutzer Konten auf Ihrer WordPress-Website und melden sich dann mit ihren WordPress-Anmeldedaten bei Discourse an. Eine Sache, die Sie bei diesem Ansatz beachten sollten, ist, dass Benutzer sich nur über WordPress bei Discourse anmelden können. Es ist nicht möglich, ein Discourse-Konto zu erstellen, ohne bereits ein WordPress-Konto zu haben. Ich denke, das ist die richtige Einrichtung, wenn Sie Discourse mit einer WordPress-Mitgliederseite integrieren.

Wenn WordPress als Identitätsanbieter für Discourse verwendet wird, gibt es einige Hilfsfunktionen, die nützlich sind, um die Discourse-Gruppenmitgliedschaften von Benutzern basierend auf ihrer Aktivität in WordPress festzulegen. Diese Funktionen sind hier beschrieben: Gruppenmitgliedschaft in Discourse mit WP Discourse SSO verwalten.

Zurück zu Ihrer ursprünglichen Frage:

Es ist eine Weile her, seit ich mir den DiscourseConnect Client-Code des WordPress-Plugins angesehen habe, aber ich denke, was Sie fragen, ist mehr oder weniger die Art und Weise, wie dieser Code funktionieren soll. Wenn ein Benutzer ein Discourse-Konto hat, muss er nur auf den Link “Durch Discourse anmelden” in WordPress klicken, und ein Konto wird für ihn erstellt.

Dies wäre technisch möglich, wenn Sie WordPress als DiscourseConnect-Client verwenden, aber es sei denn, etwas hat sich geändert, können Sie die Methoden add_user_to_discourse_group und remove_user_from_discourse_group nicht verwenden, die in der von mir verlinkten Dokumentation beschrieben sind. Sie müssten etwas wie die Einrichtung eines Discourse Webhooks einrichten, der ausgelöst wird, wenn ein Benutzer zu einer Discourse-Gruppe hinzugefügt wird, und dann etwas Code in WordPress hinzufügen, um diesen Webhook zu verarbeiten. Um Gruppen von WordPress nach Discourse zu synchronisieren, müssten Sie einen API-Aufruf an Discourse machen, um die Gruppen eines Benutzers zu aktualisieren, wenn es eine Änderung in WordPress gab. Etwas, das ziemlich einfach zu erreichen wäre, wenn Sie WordPress als DiscourseConnect-Anbieter verwenden, könnte etwas komplizierter sein, wenn Sie WordPress als DiscourseConnect-Client verwenden.

1 „Gefällt mir“