Ho implementato un nuovo plugin per WordPress che si basa sull’SSO di Discourse, ma ho riscontrato un bizzarro bug che colpisce solo la versione live del sito.
In locale riesco ad accedere e utilizzare il parametro redirect_url per tornare alla pagina desiderata. Tuttavia, sul sito live, l’SSO funziona solo se il redirect_url è l’URL di wp-admin, ad esempio:
Vi è mai capitato qualcosa del genere? Avete qualche idea su dove cercare? Se il problema persiste, dovrò creare il mio meccanismo di reindirizzamento per intercettare wp-admin.
Haha, non è una decisione mia, il sito utilizza Cloudflare come cache principale. Dovrò fare qualche ricerca sui reverse proxy e vedere se riesco a modificare alcune impostazioni su CF
Ci sono dozzine di argomenti sui problemi causati dalle ottimizzazioni di Cloudflare. Potresti utilizzare Cloudflare come CDN, in modo che Discourse reindirizzi solo i contenuti che possono essere memorizzati nella cache tramite Cloudflare.
In alternativa, puoi disattivarlo temporaneamente e verificare se questo risolve il problema.
Disabilita semplicemente “performance” e “rocket loader” di Cloudflare su Discourse tramite le regole delle pagine; questo dovrebbe risolvere il problema per te.
Sì, si tratta di una strana combinazione di problemi, che sembra dipendere parzialmente anche dalla directory di installazione di WP. Per il momento ho implementato una soluzione alternativa che reindirizza sempre a /core/wp-admin; successivamente, un parametro ?final_redirect_url finale viene intercettato dal mio hook, che esegue le azioni necessarie per riportarci dove desideriamo.