Sto implementando il mio servizio di autenticazione come provider SSO per Discourse. Funziona correttamente. Tuttavia, quando i miei utenti (non autenticati) aprono un URL per un argomento precompilato, non vedono i dati precompilati dopo il reindirizzamento su Discourse.
Scenario completo:
Un utente non autenticato apre un URL per la creazione di un argomento precompilato
Viene automaticamente reindirizzato alla pagina SSO
Effettua il login tramite SSO e viene reindirizzato a http://discourse_site/session/sso_login?....
Mi aspetto che l’utente veda la casella di creazione dell’argomento con i dati compilati, ma Discourse mostra semplicemente l’ultima pagina di argomento. Nemmeno la casella di creazione dell’argomento viene visualizzata.
Qualcuno può aiutarmi con questo problema? C’è un errore nelle mie impostazioni o si tratta di un bug?
Posso anche confermare che, se mi trovo in un argomento specifico e premo “Accedi”, il reindirizzamento funziona correttamente e torno a quell’argomento.
Grazie @simon per la risposta. Purtroppo non sono riuscito a farlo funzionare. Nel tuo link si diceva di utilizzare un URL come
http://localhost:3000/session/sso?return_path=http%3A%2F%2Flocalhost%3A3000%2Fnew-message%3Fusername%3Dscossar%26title%3DInformation+requested+about+gentle+yoga+classes
Innanzitutto pensavo di aggiungerlo allo stage 6 della documentazione ufficiale SSO di Discourse. Quindi sarebbe stato come:
Ma non ha funzionato. Quindi ho iniziato a testarlo in diversi punti e nessuno di essi ha funzionato. Potresti spiegarmi meglio dove dovrei inserire return_path?
Tutto ciò che devi fare è creare un link nel formato indicato in quel post. Dovrai sostituire l’URL corretto del tuo sito Discourse e modificare il nome utente da scossar a un nome utente esistente sul tuo sito. Non aggiungere i parametri payload o sig al link. Tutto ciò sarà gestito automaticamente dalla tua implementazione SSO esistente. Il parametro return_path serve semplicemente a reindirizzare l’utente a un URL che creerà l’argomento precompilato.
Nota che nell’esempio a cui ho fatto riferimento, sto creando un messaggio precompilato, non un argomento precompilato. Dovrai modificare il return_path indicato nel codice di esempio per creare un argomento invece di un messaggio.