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.