Sto integrando Discourse con Wordpress tramite il plugin WP Discourse e utilizzando Wordpress come provider di Discourse Connect, tuttavia mi sto imbattendo in un problema in cui un utente non autenticato che visita l’istanza Discourse e fa clic su qualsiasi pulsante che richiede l’accesso viene bloccato in un loop di reindirizzamento infinito.
Il comportamento desiderato è: l’utente fa clic sul pulsante di accesso di Discourse → l’utente viene reindirizzato alla pagina di accesso di Wordpress → l’utente si autentica e viene reindirizzato alla pagina Discourse su cui si trovava prima. Attualmente non ci sono problemi se un utente è già autenticato e visita l’istanza Discourse dopo essere stato autenticato. Questo errore si verifica quando un utente non autenticato visita prima l’istanza Discourse.
Il comportamento attuale è: l’utente fa clic su un pulsante di accesso di Discourse → l’utente viene reindirizzato a https://[istanza-discourse]/session/sso?return_path=%2Ft%2F[pagina-discourse-su-cui-l-utente-si-trovava-prima]%2F16 → l’utente viene reindirizzato a https://[sito-wordpress]/?sso=[token-SSO]%3D%3D&sig=[token-firma] → l’utente viene reindirizzato a https://[sito-wordpress]/?sso=[token-SSO]%3D%3D&sig=[token-firma]&redirect_to=%2F%3Fsso%[token-SSO]%253D%253D%26sig%3D[token-firma] → e il ciclo continua ricorsivamente finché il browser non genera un errore “troppi reindirizzamenti”
Non sono riuscito a trovare una discussione con una soluzione per questo, la più vicina è
ma abbiamo SSL abilitato ovunque e questo problema si verifica su tutti i browser. Suggerimenti su come risolvere questo problema?
Chrome 97 è stato rilasciato con un bug relativo alla gestione dei cookie durante i reindirizzamenti, che è noto per interrompere DiscourseConnect in alcune circostanze. In attesa che Google rilasci una correzione, abbiamo aggiunto una soluzione temporanea a Discourse. L’aggiornamento del tuo sito Discourse all’ultima versione dovrebbe risolvere il problema. Puoi provare e farci sapere se funziona?
(La soluzione temporanea è stata aggiunta in questo commit)
Grazie per la risposta, ho appena controllato per assicurarmi che fossimo all’ultima versione ma purtroppo l’errore è ancora lì. Ospitiamo il nostro forum con Discourse, quindi dovrebbe aggiornarsi regolarmente. L’errore è ancora lo stesso di prima, c’è qualcos’altro che dovrei provare? Ci sono impostazioni all’interno dell’hosting Discourse che potrebbero causare questo?
Poi inviami i log in privato e darò un’occhiata più da vicino a cosa sta succedendo. Nota che i log non contengono alcuna informazione di identificazione personale o segreti.
Il problema di reindirizzamento descritto qui sembra simile a quello che ho visto in passato con altri siti Woocommerce. In quei casi, è stato risolto installando il plugin WordPress che ho collegato.
Se questa è la causa del problema, mi chiedo se dovremmo considerare di aggiungere il supporto Woocommerce direttamente al plugin WP Discourse.
Non sto riscontrando esattamente il problema descritto dall’OP, ma sto sbattendo contro un muro nel reindirizzare i nostri utenti al punto in cui si trovavano, nei forum di Discourse, dopo il login
Volevo solo pubblicare un aggiornamento qui, si scopre che uno dei plugin che stavamo usando stava interferendo con il valore restituito della funzione wp_login_url() di Wordpress. Una volta rimosso quel plugin, tutto ha funzionato come previsto!
1 Mi Piace
angus
(Angus McLeod)
Ha separato questo argomento il
9