OIDC-Benutzer werden nicht mit bestehenden Discourse-Benutzern verknüpft

Hallo! Ich versuche, Discourse mit dem Discourse OpenID Connect Plugin und Keycloak einzurichten.

Es ist mir gelungen, es zum Laufen zu bringen und mich nicht nur mit meinen Keycloak-Anmeldedaten bei meiner Discourse-Instanz anzumelden, sondern auch ein bereits vorhandenes Discourse-Konto mit dem OIDC-Konto zu verknüpfen. Leider habe ich bei der Einrichtung des Keycloak-Containers einen Fehler gemacht und seine Konfiguration und Datenbank verloren.

Ich habe Keycloak neu installiert (diesmal richtig!) und Discourse neu konfiguriert, um die neue Client-ID zu verwenden. Obwohl die Integration zu funktionieren scheint (die Aktivierung der Protokolle unter /logs zeigt, dass die Authentifizierung tatsächlich funktioniert hat), kann ich Discourse-Konten nicht mehr mit OIDC-Konten verknüpfen.

Wenn ich versuche, mich bei Discourse anzumelden, verwende ich OIDC, werde von der neuen Konto-Benutzeroberfläche begrüßt und klicke dann auf den Link, um mich mit einem bereits vorhandenen Konto zu verknüpfen. Ich melde mich an, werde zu Discourse weitergeleitet und wenn ich mich abmelde und erneut anmelde, sehe ich dieselbe neue Konto-Benutzeroberfläche.

Ich habe das Data Explorer-Plugin verwendet, um die Verknüpfungen zu überprüfen, und mein Benutzer wird als NULL angezeigt. Die Provider-ID stimmt jedoch mit der Benutzer-ID in Keycloak überein.

Ich habe die Option „OpenID Connect allow association change“ aktiviert.

Ich stelle mir vor, dass Discourse immer noch an dem festhält, was von meiner vorherigen Keycloak-Installation vorhanden war, und dass die Änderung der neuen Client-ID nicht ausreicht.

Gibt es noch etwas anderes, das ich übersehen haben könnte?

Viele Grüße

1 „Gefällt mir“

Verwenden Sie dieselbe E-Mail-Adresse für die Konten? Können Sie dieses Problem mit einem neuen Konto reproduzieren, das zuvor nicht mit Keycloak verknüpft war?

1 „Gefällt mir“

Vielen Dank für die schnelle Antwort!

Ich habe nicht dieselbe E-Mail-Adresse für die Konten verwendet, aber ich habe sie in Keycloak geändert, damit sie mit der in Discourse verwendeten übereinstimmt, und es ist immer noch dasselbe. Die Antwort im Data Explorer ist dieselbe („NULL“-Benutzer).

Ich habe versucht, einen neuen, frischen Benutzer zu erstellen, und erhalte die Fehlermeldung „Ungültiger Benutzername, E-Mail oder Passwort“, obwohl der Benutzername völlig in Ordnung und verfügbar ist, die E-Mail gültig ist und das Passwort von meinem Passwortmanager generiert wurde. Das ist höchstwahrscheinlich nicht zusammenhängend, aber es ist etwas anderes, das ich herausfinden muss, warum es passiert.

1 „Gefällt mir“