Prendre en charge la déconnexion backchannel OIDC

L’une des fonctionnalités que j’aimerais vraiment voir prise en charge par le plugin OIDC principal est la déconnexion de canal retour OpenID Connect. L’introduction de la déconnexion de canal retour permettrait au fournisseur d’identité d’invalider une session à distance, permettant ainsi à la déconnexion unique (Single-Sign-Out) de fonctionner correctement (un utilisateur peut se déconnecter d’un autre service, que ce service soit le fournisseur d’identité lui-même ou un autre service connecté au fournisseur d’identité via une déconnexion initiée par le RP, et lorsqu’il le fait, il sera également déconnecté de Discourse). Cela permet également à une option centrale « Se déconnecter de toutes les sessions » sur le fournisseur d’identité de fonctionner correctement.

Je suis prêt à envisager de l’implémenter moi-même, mais en raison de la nécessité de stocker l’identifiant de session fourni par le fournisseur d’identité afin de pouvoir relier ultérieurement la demande de déconnexion du fournisseur d’identité à la session correcte dans Discourse, je pourrais avoir besoin d’un peu d’aide étant donné que je suis un contributeur débutant lol. Je vais y essayer bientôt quand j’aurai un peu plus de temps, et je reviendrai vers vous si je rencontre des problèmes.

1 « J'aime »

C’est effectivement un manquement au niveau du produit.

Si vous souhaitez qu’une personne plus expérimentée s’en occupe et que vous pouvez prévoir un budget, envisagez le Marketplace.

Malheureusement, je n’ai pas vraiment de budget, donc je vais simplement essayer de mon mieux pour écrire un patch moi-même. J’ai une assez bonne expérience du développement logiciel (le forum que je gère concerne en fait un logiciel que je crée lol), je n’ai simplement jamais travaillé sur le code de Discourse auparavant et il a l’air un peu intimidant lol. Je pense avoir une assez bonne idée de ce que je dois faire, mais je dois simplement apprendre la structure des plugins Discourse (il semble y avoir une documentation plutôt correcte à ce sujet, et je n’imagine pas que ce soit trop difficile à comprendre, je n’ai juste pas encore eu le temps de m’y pencher).