Come sincronizzare il logout con la sessione SSO o del browser?

Scenario:

Un utente avvia un browser, si connette al Forum tramite SSO, lavora per un po’ e poi chiude il browser.

Un secondo utente avvia un browser sulla stessa macchina e accede nuovamente al Forum tramite SSO. Il processo lo porta attraverso l’accesso completo con le sue credenziali, ma quando entra nel forum risulta essere loggato come il primo utente.

Discourse consente di impostare il timeout della sessione a un minimo di un’ora. Ciò significa che l’utente può tornare al PC entro un’ora, accedere semplicemente e acquisire l’identità dell’utente precedente grazie ai cookie.

Nel 2016 è stata applicata una correzione per far scadere i cookie alla chiusura del browser, ma è stata successivamente annullata.

Ciò rende il software molto insicuro in un ambiente in cui più persone utilizzano la stessa postazione di lavoro, se il browser non è configurato per funzionare in modalità privata.

Esiste una soluzione a questo problema?

Grazie,

Peter

Stessa domanda, stessa risposta:

Puoi esaminare il codice del commit sopra indicato, che è stato annullato, e portarlo in un plugin per adattarlo alle tue esigenze.

Puoi anche implementare un’integrazione di logout nel tuo sistema SSO, in modo che quando un utente effettua il logout, Discourse venga chiamato per terminare tutte le sessioni esistenti dello stesso utente.

E no, questo non è considerato una falla di sicurezza.

È triste che il codice sia stato annullato, poiché aveva un notevole valore in situazioni come questa.

Puoi cortesemente indicare le chiamate Discourse necessarie per terminare le sessioni?

Grazie, Rafael

C’è una guida pratica a riguardo qui: