sono nuovo di Discourse e sto cercando di configurare il mio forum insieme a un sito Drupal, utilizzando il modulo SSO di Discourse. Ho seguito le istruzioni del modulo e questo argomento, ma purtroppo l’URL “mydrupalwebsite.com/discourse/sso” restituisce un errore 404.
Da quando è stato pubblicato quell’argomento, sono state introdotte nuove impostazioni per il modulo, tra cui una chiave API, ma non so come utilizzarla.
Puoi condividere un link al modulo Drupal che stai utilizzando? Se si tratta del modulo collegato in questo post, è stato aggiornato l’ultima volta nel marzo 2015, quindi è molto probabile che ci siano problemi con esso.
Questo modulo Drupal SSO è stato aggiornato nel dicembre 2019: Discourse SSO | Drupal.org. Vale la pena provarlo.
Ho configurato il segreto SSO e l’URL SSO, e quando provo ad accedere, vedo che ci sono state alcune reindirizzamenti come previsto, ma /discourse/sso restituisce una pagina 404.
Il modulo dispone di documentazione? La procedura normale per abilitare l’SSO consiste nell’aggiungere l’endpoint SSO all’impostazione del sito Discourse sso url, inserire una chiave segreta SSO nell’impostazione del sito sso secret, quindi abilitare l’impostazione del sito enable sso. Quando si configura per la prima volta, probabilmente vorrete anche abilitare l’impostazione del sito verbose sso logging. Con questa impostazione abilitata, riceverete dettagli sugli errori SSO nei registri degli errori del vostro sito (trovabili in Admin / Logs / Error Logs).
Una volta abilitate le impostazioni di Discourse, dovrete assicurarvi che l’URL del sito Discourse e la sso secret siano aggiunti al sito del provider SSO.
Dal messaggio di errore che state ricevendo, sembra probabile che l’impostazione del sito enable sso non sia stata abilitata sul vostro sito Discourse.
Se riscontrate problemi nell’accesso al vostro sito Discourse dopo aver abilitato l’SSO, in qualità di amministratore potete aggirare il login SSO andando su /u/admin-login sul vostro sito Discourse. Inserite il vostro indirizzo email amministrativo nel modulo presente nella pagina. Vi verrà inviato un link di accesso monouso.
Ho dato un’occhiata alla voce di log, ma non mostra l’errore: è semplicemente la voce di log relativa all’avvio del processo SSO su Discourse. Dovrebbe esserci un’altra voce di log creata poco dopo quella che mostra effettivamente l’errore. Puoi provare a ripetere il processo? Dovrebbero esserci voci di log SSO dettagliate per ogni tentativo di accesso. La prima voce mostra l’avvio del processo su Discourse, mentre la seconda riguarda come Discourse ha gestito la risposta ricevuta dal tuo sito web.
È possibile che esista un altro messaggio di errore pertinente che non inizia con il testo Verbose SSO log. Controlla le voci di log relative al momento esatto in cui hai effettuato la richiesta SSO.
Ho riprovato e ho ricevuto tre messaggi di log identici, uguali al precedente. Se seguo questa logica, deve significare che il mio sito web non risponde affatto.
Sì, mi sembra corretto. Potresti provare a esaminare le richieste effettuate aprendo l’ispettore web del tuo browser e andando alla scheda “Rete”. Seleziona l’opzione “Mantieni i log” in quella scheda e fai clic sul link di accesso sul tuo sito Discourse.
Un piccolo aggiornamento su questo argomento: il modulo Discourse SSO è stato corretto e non fa più crashare il sito.
Tuttavia, non funziona ancora perché è impossibile effettuare correttamente il logout una volta effettuato l’accesso. È stato aperto un altro problema, nel caso qualcuno volesse prenderlo in esame.
Sembra che il logout da Discourse non sia sincronizzato con il logout dal sito del provider SSO. Dato che sei ancora connesso al provider SSO, la prossima volta che clicchi sul link di accesso di Discourse, verrai autenticato in base alla tua connessione al provider SSO.
La configurazione del sito “logout redirect” di Discourse può essere utilizzata per disconnettere gli utenti dal sito del provider SSO. Quando un utente effettua il logout da Discourse, verrà automaticamente reindirizzato a quell’URL. Il provider SSO dovrà gestire l’URL per disconnettere l’utente. Tuttavia, non conosco abbastanza Drupal per sapere cosa sia necessario fare per implementare questa funzionalità.
Questo modulo funziona correttamente, c’è solo un bug relativo all’immagine del profilo utente di Drupal, ma è in attesa una patch,
Questo post contiene un errore riguardo alle impostazioni in Discourse: l’URL sso deve terminare con /discourse_sso, NON con /discourse/sso
Se desideri poter accedere con diversi account, devi impostare http://mywebsite/user/logout come reindirizzamento di logout e disabilitare Ghostery nel tuo browser per il sito Discourse se stai utilizzando questo plugin.