Vogliamo creare programmaticamente nuovi argomenti per i nostri utenti da un servizio backend. È possibile spingere un utente SSO su Discourse senza che passi attraverso il flusso di accesso?
Se stai utilizzando DiscourseConnect per autenticare gli utenti sul tuo sito, puoi creare o aggiornare gli utenti in modo programmatico con questo metodo: Sincronizza i dati dell’utente DiscourseConnect con la rotta sync_sso. Tieni presente che questo non effettua l’accesso dell’utente su Discourse, ma crea semplicemente l’utente. Se non è questo che intendi fare, inviaci maggiori dettagli su ciò che desideri ottenere.
Lo siamo! Perfetto.
A proposito, non avremmo bisogno di fare questo se i parametri per il nuovo argomento sopravvivevano al flusso di accesso SSO. Non riusciamo però a trovare l’incantesimo giusto per farlo funzionare, quindi gli utenti vengono reindirizzati a un modulo per un nuovo argomento vuoto se non sono già loggati. Posso segnalarlo come un bug da qualche parte, se lo consideri tale. ![]()
Dovrebbe essere possibile far funzionare questa cosa. Se i parametri vengono rimossi, sospetto che sia il codice SSO che stai utilizzando a farlo, non Discourse. Dai un’occhiata a questo post per i dettagli: Creating pre-filled personal message links - #11. Nota che l’URL di esempio in quel post crea un nuovo messaggio privato, non un nuovo argomento. Tuttavia, lo stesso approccio dovrebbe funzionare anche per la creazione di un nuovo argomento.
Oh, funziona davvero! Ottimo. Questo URL non torna indietro, ma è super semplice collegarsi all’URL SSO:
http://localhost:3000/new-topic?title=wat&category=questions-and-help/build-debugging&tags=build```