Vorrei configurare l’SSO con GitHub OAuth. Quando un utente accede al mio sito tramite GitHub, dovrebbe anche effettuare l’accesso su Discourse. I commenti di Discourse sono incorporati nel sito.
Come posso procedere?
Vorrei configurare l’SSO con GitHub OAuth. Quando un utente accede al mio sito tramite GitHub, dovrebbe anche effettuare l’accesso su Discourse. I commenti di Discourse sono incorporati nel sito.
Come posso procedere?
Per la connessione OAuth2 al tuo sito, puoi utilizzare questo plugin
“Accedi con GitHub” è integrato in Discourse e puoi trovare le istruzioni per la configurazione qui:
Sono ancora confuso.
Nel caso non fosse chiaro, ho
Un sito web con OAuth di GitHub.
Discourse con OAuth di GitHub.
Nessuno dei due ha altri metodi di accesso.
Quando un utente accede al mio sito web, dovrebbe essere automaticamente loggato anche su Discourse.
Ciò che mi manca è il collegamento tra i due. Come faccio ad accedere l’utente a Discourse quando si autentica tramite OAuth di GitHub sul mio sito web?
Quando qualcuno accede al tuo sito web, l’unica comunicazione che avviene è tra GitHub e il tuo sito.
Cioè:
Il tuo sito chiama GitHub per verificare se un utente esiste nel loro database utenti.
GitHub risponde sì (o no) e restituisce i dati dell’utente o il token di autenticazione come richiesto dal tuo sito.
A questo punto, l’utente viene connesso al tuo sito.
In questa equazione non c’è alcuna interazione con Discourse. Ciò di cui hai bisogno è un modo per informare Discourse che un determinato utente si è appena connesso e deve essere connesso anche a Discourse.
Ciò di cui hai bisogno è un metodo per accodare l’accesso a Discourse insieme all’accesso al tuo sito web, in modo che Discourse sappia quando un utente si è connesso o disconnesso.
Auth0 gestisce questo aspetto molto bene già dalla configurazione iniziale.
Un’altra opzione è utilizzare Discourse come server SSO.
Grazie per le risposte!
Ho capito che il plugin di autenticazione che uso in realtà funziona tramite OAuth e fornisce un JWT. Credo che discourse-jwt dovrebbe funzionare per me.