Voraussetzung: discourse und keycloak sind bereits installiert.
discourse läuft auf localhost:3000, keycloak auf localhost:8080
Discourse-Plugin installieren
zuerst muss das Plugin installiert werden. dazu einfach in plugin verzeichniss wechseln
cd discourse/plugins
und das plugin per git clonen
git clone https://github.com/discourse/discourse-openid-connect.git
nach einem Neustart im Adminverzeichniss unter Plugins nach openId suchen, sind diese vorhanden wurde das Plugin erfolgreich installiert.
Keycloak konfigurieren
In der Administrationsoberfläche von Keycloak einen Realm anlgen -> zb Discourse
Im Clients Menü einen neuen Client anlegen.:
im der folgenden Maske muss jetzt noch mindestens die Redirect Url auf localhost:3000/* geändert werden. Außerdem habe ich den Access-Typ auf confidential gestellt.
Nach dem speichern erscheint nun das zusätzlich Feld credentials als Tab, dort kann das client secret abgelesen werden. (in diesem beispiel: geheimniss)
jetzt müssen nur noch client id client secret und der discovery document url übertragen werden. die discovery document url hat folgende aufbau:
{host}:{port}/auth/realms/{realm}/.well-known/openid-configuration