OIDC Backchannel Logout unterstützen

Eine der Funktionen, die ich mir wirklich wünschen würde, im Kern-OIDC-Plugin unterstützt zu sehen, ist OpenID Connect Back-Channel Logout. Die Einführung des Back-Channel Logout würde es dem Identity Provider ermöglichen, eine Sitzung remote zu invalidieren, sodass Single-Sign-Out korrekt funktioniert (ein Benutzer kann sich von einem anderen Dienst abmelden – ob dieser Dienst nun direkt der IdP ist oder ein anderer Dienst, der über RP-initiated logout mit dem IdP verbunden ist – und wird dabei auch aus Discourse abgemeldet). Dies ermöglicht auch, dass ein zentrales „Von allen Sitzungen abmelden“ im IdP korrekt funktioniert.

Ich bin bereit, mich selbst um die Implementierung zu kümmern. Da wir jedoch die vom IdP bereitgestellte Session-ID speichern müssen, um die Logout-Anfrage des IdP später mit der richtigen Sitzung in Discourse verknüpfen zu können, brauche ich vielleicht etwas Hilfe, da ich zum ersten Mal beitrage (lol). Ich werde es bald versuchen, wenn ich etwas mehr Zeit habe, und melde mich wieder, falls ich auf Probleme stoße.

1 „Gefällt mir“

Das ist tatsächlich eine Lücke im Produkt.

Wenn du jemanden mit mehr Erfahrung darauf schauen lassen möchtest und ein Budget dafür bereitstellen kannst, schau dir Marketplace an.

Leider habe ich kein wirkliches Budget, also werde ich mein Bestes tun, um den Patch selbst zu schreiben. Ich habe ziemlich viel Erfahrung in der Softwareentwicklung (das Forum, das ich verwalte, befasst sich tatsächlich mit einer Software, die ich selbst entwickle lol), nur mit der Codebasis von Discourse habe ich noch nie gearbeitet, und sie sieht ein bisschen einschüchternd aus lol. Ich glaube aber, ich habe eine recht gute Vorstellung davon, was zu tun ist. Ich muss nur noch lernen, wie Discourse-Plugins aufgebaut sind (dafür gibt es scheinbar ziemlich gute Dokumentation, und ich kann mir nicht vorstellen, dass es zu schwierig ist, das herauszufinden – ich hatte nur noch keine Zeit, mich damit zu beschäftigen).