Ciao, vorrei incorporare il forum in un sito web tramite iframe.
Il forum effettuerà il login tramite SSO. L’incorporamento tramite iframe funziona correttamente. Tuttavia, il processo SSO non riesce a impostare il cookie di login perché l’attributo ‘samesite lax’ è impostato lato Discourse. Qualcuno ha riscontrato lo stesso problema? O c’è qualcuno che è riuscito a incorporare il proprio forum in un sito web e a collegarlo tramite SSO?
Hmm, ok, beh, ho trovato un’impostazione nella sezione delle impostazioni di Discourse. Questa permette di incorporare il forum in un altro sito tramite iframe. Questa impostazione funziona (se sei già loggato e hai il cookie).
L’unica cosa che non funziona è il processo SSO. Il nostro processo SSO funziona correttamente quando si apre il forum in una nuova scheda. Ma l’iframe interrompe questo processo perché il cookie con l’access token non può essere impostato a causa di un dominio diverso. Questo porta a un ciclo infinito all’interno dell’iframe perché Discourse non riesce a trovare questo cookie e avvia nuovamente il processo SSO.
Visto che questo è molto importante per noi, non esiste alcuna opzione per incorporare il forum in un iframe utilizzando l’autenticazione SSO?
L’impostazione è piuttosto sperimentale e non è davvero supportata in un ambiente SSO. Il reindirizzamento di ritorno dovrebbe eseguire operazioni complesse per restituire tutte le informazioni nel frame.
Consiglio vivamente di optare per un’intestazione e un piè di pagina personalizzati: è molto semplice configurarli in modo che appaiano come quelli del sito principale.
Proveremo a utilizzare un’intestazione e un piè di pagina personalizzati.
Ci sono piani, nel prossimo futuro, per rendere il discorso SSO funzionante all’interno di un iframe? Questa funzionalità sarebbe molto utile per chi desidera integrare un forum nel proprio sito senza dover implementare tutte le API di Discourse.
Utilizziamo già il forum con SSO all’interno di una webview in un’app. Vogliamo integrare il forum in un nuovo sito web che stiamo costruendo. Credo che abbiamo due opzioni per farlo:
Opzione 1: implementare diverse API (ad esempio per recuperare post, categorie e pubblicare su Discourse).
Opzione 2: incorporare il forum nel nostro sito web tramite iframe in combinazione con SSO. (costo contenuto e ci permette di valutare il successo del forum prima di investire ulteriormente)
Quindi, per rispondere alla tua domanda: l’opzione dell’iframe non ha nulla a che vedere con le API.
Ci sono piani nel prossimo futuro per far funzionare Discourse SSO all’interno di un iframe?
Il protocollo SSO reindirizza al tuo sito; lì esegui l’autenticazione e reindirizzi nuovamente al nostro sito.
Se si imposta un IFRAME qui, il reindirizzamento che esegui dopo aver autenticato l’utente dovrebbe puntare al tuo sito; successivamente, dovresti eseguire qualche sorta di procedura complessa per passare le informazioni all’interno dell’IFRAME.
Questo è tecnicamente complesso e molto difficile da implementare correttamente. D’altro canto, l’opzione di un footer e un header personalizzati è tecnicamente molto più semplice da implementare, molto meno soggetta a errori e, come ulteriore vantaggio, più veloce, poiché non sei costretto a effettuare due richieste separate per costruire una pagina.