Supporto per il logout OIDC Backchannel

Una delle funzionalità che vorrei davvero vedere supportata dal plugin OIDC principale è l’OpenID Connect Back-Channel Logout. L’introduzione del back-channel logout consentirebbe al provider di identità di invalidare una sessione da remoto, permettendo così al Single-Sign-Out di funzionare correttamente (un utente può disconnettersi da un altro servizio, che sia il provider di identità stesso o un altro servizio collegato al provider di identità tramite RP-initiated logout, e in tal modo verrà disconnesso anche da Discourse). Ciò consente inoltre al “disconnessione da tutte le sessioni” centralizzato nel provider di identità di funzionare correttamente.

Sono felice di occuparmi personalmente dell’implementazione di questa funzionalità, ma poiché sarà necessario memorizzare l’ID della sessione fornito dal provider di identità per poter successivamente associare la richiesta di disconnessione proveniente dal provider di identità alla sessione corretta in Discourse, potrei aver bisogno di un po’ di aiuto, dato che sono un contributore alle prime armi. Cercherò di farlo presto quando avrò un po’ più di tempo, e vi farò sapere se incontrerò dei problemi.

1 Mi Piace

Si tratta effettivamente di un gap nel prodotto.

Se desideri che qualcuno con più esperienza esamini la questione e riesci a stanziare il budget, valuta Marketplace

Purtroppo non ho un vero e proprio budget, quindi farò del mio meglio per scrivere una patch io stesso. Ho abbastanza esperienza nello sviluppo software (il forum che gestisco riguarda in realtà un software che sto sviluppando lol), solo che non ho mai lavorato con il codebase di Discourse e sembra un po’ intimidatorio lol. Credo di avere una buona idea di cosa devo fare, devo solo imparare come sono strutturati i plugin di Discourse (sembra che ci sia una documentazione abbastanza decente a riguardo e non immagino che sia troppo difficile capire, è solo che non ho ancora avuto il tempo di informarmi).