こんにちは!Discourse OpenID Connect plugin と Keycloak を使って Discourse を設定しようとしています。
なんとか動作させることができ、Keycloak の認証情報を使って Discourse インスタンスにログインできるだけでなく、既存の Discourse アカウントを OIDC のアカウントと連携させることもできました。残念ながら、Keycloak コンテナの設定中にミスをしてしまい、設定とデータベースを失ってしまいました。
その後、Keycloak を(今回は正しく!)再インストールし、Discourse を新しいクライアント ID を使用するように再設定しましたが、連携は機能しているように見えます(/logs でログを有効にすると、認証が実際に機能したことがわかります)が、Discourse アカウントと OIDC アカウントを連携させることができなくなりました。
Discourse にログインしようとすると、OIDC を使用し、新しいアカウントの UI に迎えられ、既存のアカウントと連携するためのリンクをクリックします。ログインし、Discourse にリダイレクトされ、ログアウトして再度ログインすると、同じ新しいアカウントの UI が表示されます。
Data Explorer プラグインを使用して連携を確認したところ、私のユーザーは NULL と表示されています。ただし、プロバイダー ID は Keycloak のユーザー ID と一致しています。
「OpenID Connect allow association change」オプションはオンになっています。
Discourse は、以前の Keycloak インストールから引き継いだ何かにまだ依存しており、新しいクライアント ID を変更するだけではうまくいかないと考えています。
見落としている可能性のある、他に確認すべきことはありますか?
よろしくお願いします。