Logout non funzionante nella configurazione Oauth

Ciao,

Abbiamo un piccolo problema: premendo il pulsante di disconnessione, l’utente non viene effettivamente disconnesso.

La nostra configurazione

Abbiamo un frontend in Vue.js, dove è possibile autenticarsi tramite Auth0. Dopo aver effettuato l’accesso, puoi premere il pulsante della bacheca e verrai reindirizzato alla nostra bacheca Discourse, dove verrai nuovamente autenticato tramite Auth0.

Installazione
Ho seguito questa guida.

Descrizione/riproduzione del bug

Quando premi il pulsante di disconnessione sul forum Discourse, appare brevemente una finestra modale con un pulsante di aggiornamento, ma poi la pagina si ricarica automaticamente e il forum viene caricato senza che l’utente sia stato disconnesso.

Ecco uno screenshot delle chiamate al browser. Non sono sicuro delle chiamate con errore in rosso, poiché sembrano essere attivate dopo le stesse chiamate con errore in rosso e poi sembrano avere successo.

Non riesco a trovare nulla nei log di debug correlato a questo problema.

Comportamento atteso

L’utente dovrebbe essere disconnesso da Auth0, causando il reindirizzamento della pagina alla pagina di accesso di Auth0.

Hmm, il problema è che gli utenti vengono disconnessi, ma vengono poi immediatamente riconnessi automaticamente. Una soluzione consiste nell’impostare l’opzione reindirizzamento disconnessione su un sito esterno, in modo che gli utenti non vengano riconnessi immediatamente. O forse potresti addirittura impostarla su /login :thinking:

Ci rifletterò nei prossimi giorni per vedere se possiamo trovare una soluzione migliore. È confuso avere un pulsante di disconnessione che non fa… nulla.

Ciò si verifica solo quando si utilizza:

  • Single sign-on / una strategia di autenticazione singola con accessi locali disabilitati
  • “Login richiesto” abilitato

Forse potremmo aggiungere un avviso nella dashboard quando entrambe le condizioni sono soddisfatte, informando l’utente di impostare correttamente il reindirizzamento di disconnessione altrove? È una configurazione relativamente insolita in cui l’amministratore può impiegare solo 5 secondi in più per impostare l’indirizzo di disconnessione.

@david Reindirizzare alla pagina di accesso è una buona soluzione, grazie! Concordo con @Falco: potrebbe essere necessario un avviso per impostare questa opzione, altrimenti si verificano comportamenti strani!

Ottimo!

Come ha detto @Falco, è piuttosto raro, ma penso di configurare il reindirizzamento predefinito al logout su /login per i siti con login_required: semplice ed efficace, così non dobbiamo contare sul fatto che le persone leggano davvero un avviso.

/login non avvia l’accesso automatico quando è richiesto l’accesso + SSO?

Corretto. È un po’ controintuitivo, ma è così che ha sempre funzionato l’SSO e, di conseguenza, vale lo stesso per questa nuova modalità con un singolo autenticatore.

Ho aperto una PR per questo problema - risolve anche lo stesso problema per i siti SSO