Ho fatto qualche ora di ricerca per il mio problema e penso di esserci vicino, ma potrei aver bisogno di una piccola spinta nella giusta direzione.
Sto essenzialmente cercando di integrare Discourse come implementazione headless nel mio progetto React che contiene già utenti autenticati nel suo database.
Per fare ciò, quando l’utente accede alla pagina React, eseguirà un SSO per autenticare l’utente con l’API di Discourse in modo da poter chiamare le funzioni appropriate e altro ancora.
Quindi, sto prima eseguendo una richiesta al mio URL Discourse e impedendo qualsiasi reindirizzamento in questo modo:
const response = await fetch('https://forum.mysite.com/session/sso', {
method: 'GET',
redirect: 'manual', // Impedisce il reindirizzamento automatico
});
Quindi eseguo tutta la validazione e invio il Payload con le informazioni dell’utente al backend utilizzando:
const loginResponse = await fetch(newurl.toString(), {
method: 'GET',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
redirect: 'manual',
});
E la formattazione, la firma e tutto il resto sembrano a posto. Ma mi dà un errore. Quindi ho commentato questo e ho copiato l’URL generato nel mio browser per vedere cosa succede e mi dà questo:
Log SSO dettagliato: Nonce non corretto, è stato generato in una sessione browser diversa o è scaduto add_groups: admin: avatar_force_update: avatar_url: bio: card_background_url: confirmed_2fa: e
Dopo un po’ di ricerca, penso che queste risposte siano vicine ad aiutarmi, ma non mi è ancora molto chiaro cosa cambiare per la mia configurazione e force_https non sembra essere un’impostazione che possiamo manipolare più (non sono nemmeno sicuro di cosa faccia):
Sento che potrebbe essere causato da diverse sessioni del browser, ma non lo so. Penso di essere vicino a far funzionare questo, ho solo bisogno di una piccola spinta. Qualsiasi informazione sarebbe utile. Grazie!
