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