Sto gestendo l’autenticazione SSO nel mio backend PHP. Inizio inviando una richiesta curl all’URL SSO (Communauté et formation pour entrepreneurs) per ottenere il Payload SSO e la SIG, poi procedo a creare il mio payload per generare l’URL di reindirizzamento corretto.
Sì, il nonce è ora associato alla sessione dell’utente per cui è stato generato. Sembra che il problema che stai riscontrando sia legato a questo:
Invece di effettuare una richiesta curl, ci si aspetta che l’utente da autenticare visiti /session/sso, sia cliccando sul pulsante Accedi del sito, sia venendo reindirizzato a /session/sso dalla tua applicazione. Quando lo fanno, Discourse li reindirizzerà indietro alla tua applicazione. Il nonce presente in quel payload sarà valido.
È quello che ho dovuto fare per risolvere il problema, ma questo interrompe il mio processo di login asincrono. Mi piaceva molto lavorare in quel modo.
Ho anche provato a farlo tramite Axios. Mi sarei aspettato che funzionasse, dato che la richiesta proviene dal client. Sembra che non funzioni nemmeno in questo caso.
Se pensi a un modo per implementare un processo di login asincrono, accetterò con piacere qualsiasi consiglio! In ogni caso, grazie per la risposta, molto apprezzata.