Discourse con SSO da Nextcloud

Non sono riuscito a trovare una guida per questo. Ma ciò che vorrei fare è “integrare” Discourse come un’app all’interno dell’ambiente collaborativo open source Nextcloud. Credo che ciò si faccia aprendo Discourse - un po’ come un iframe - come un “sito esterno” in Nextcloud. Ecco i miei passaggi:

  1. Ho notato che esiste una sorta di “app di integrazione” per utilizzare SSO tra Nextcloud e Discourse:
    Discourse SSO - Apps - App Store - Nextcloud

  2. In Nextcloud, vai su + App → Integrazione → Discourse SSO. Installala e abbiala.

  3. Vai alle tue impostazioni e inserisci le tue informazioni SSO:

  4. Vado al mio sito del forum Discourse (che è in svedese, scusa) e accedo alle mie impostazioni di amministrazione:


    E scorro verso il basso per compilare questi 3 campi:

  5. Esco da entrambi Discourse e Nextcloud. Accedo a Nextcloud (utilizzando lo stesso indirizzo email sia su Nextcloud che su Discourse), ma non riesco ad aprire con successo il “sito esterno” per visualizzare il mio forum Discourse.

Perché Firefox interpreta il mio forum come se fosse incorporato?

Sei sicuro di utilizzare l’endpoint corretto per SSO?

La seconda cosa da verificare è se CSP stia causando questo comportamento (non sono sicuro di come o perché).

Ho provato a disabilitare l’SSO, ma il sottodominio in cui si trova il mio forum non può ancora essere aperto all’interno di Nextcloud. Il mio dominio normale, invece, si apre.
Con CSP intendi il Cloud Service Provider dove è ospitato il mio Discourse?

Da Nextcloud

I tuoi link potrebbero funzionare o meno correttamente a causa dei diversi modi in cui i browser Web e i siti Web gestiscono gli URL HTTP e HTTPS, e perché l’app Siti esterni incorpora link esterni in IFrames.

Discourse non funziona all’interno di un tag <iframe> e il tuo server Discourse rifiuterà la connessione.

3 Mi Piace

Grazie! Ma allora perché esiste un’app di “integrazione SSO” se l’integrazione è impossibile? Esiste qualche soluzione alternativa per incorporare Discourse come iframe?

Modifica: Ho creato un post sul forum di Nextcloud. Farò un aggiornamento se otterrò chiarezza da lì.

Ok, quindi un utente sul forum di Nextcloud conferma semplicemente che sembra esserci un problema con Discourse, poiché non funziona in un iframe. Una rapida ricerca su Google mi ha portato a questo progetto GitHub di 4 anni fa:

Dopo aver modificato app.yml per tenere conto di questo plugin, cosa devo fare dopo? Devo ricostruire Discourse per installarlo completamente?

Sì, sarà necessario un rebuild per installare qualsiasi plugin

Solo per avvisarti, un plugin non aggiornato da oltre 4 anni ha un’alta probabilità di non funzionare.

2 Mi Piace

Puoi segnalare problemi e richiedere funzionalità sul GitHub del progetto. Tieni presente che non è ancora aggiornato per la versione 20. Clicca per i dettagli.

1 Mi Piace

Grazie per il consiglio! Non hai mai usato questa app tu stesso, vero?

Per la cronaca: ho installato il plugin “allowifram” e il mio Discourse si è effettivamente bloccato. :stuck_out_tongue:

Per chi fosse interessato, ho chiesto allo sviluppatore se fosse stato fatto un tentativo di integrare Discourse in Nextcloud: Amend so that Discourse can be opened within Nextcloud? · Issue #18 · habi-dat/discoursesso · GitHub
Lo sviluppatore ha risposto di no, ma ha aggiunto di aver aggirato il problema dell’iframe con il seguente plugin: GitHub - soudis/discourse-allow-same-origin · GitHub
Non l’ho ancora provato personalmente.

2 Mi Piace

Scusa per il ritardo nella risposta, ma ho recentemente esplorato le opzioni di integrazione tra Nextcloud e Discourse. Probabilmente hai già risolto tutto, ma sarei interessato a confrontarci. Stai ancora utilizzando Discourse e Nextcloud insieme? Se sì, potresti condividere maggiori informazioni su cosa stai cercando di ottenere e su come sta funzionando? Te ne sarei grato!

Sì, come hai scoperto, Discourse non ama essere caricato in un iframe. È sempre stato così. La soluzione è utilizzare il sistema di personalizzazione molto flessibile di Discourse per aggiungere un’intestazione che corrisponda al tuo sito principale. Puoi anche utilizzare il sistema di personalizzazione di Nextcloud per aggiornarlo e farlo corrispondere, come preferisci. Nelle impostazioni amministrative di Nextcloud per i siti esterni, seleziona quindi l’opzione redirect, il che significa che il sito non consente l’incorporamento. Il collegamento a Discourse si aprirà quindi nella stessa scheda del browser, senza iframe.

Screen Shot 2021-05-05 at 3.58.30 PM

L’applicazione Nextcloud discoursesso a cui fai riferimento serve semplicemente a consentire alle persone di autenticarsi sul tuo sito Discourse tramite Nextcloud. Sembra che tu lo stia configurando correttamente. Devi solo andare all’URL del tuo Discourse e provare ad accedere: vedrai che sei loggato con le tue credenziali Nextcloud.

Tieni presente che in Discourse, Discourse SSO è stato rinominato in Discourse Connect. Abilitandolo, verranno sostituite completamente tutte le altre opzioni di accesso nel tuo Discourse, quindi dovrai utilizzarlo con attenzione.

3 Mi Piace

Hai avuto fortuna con questo plugin? :eyes:

Ho installato il plugin, ma ricevo ancora “Impossibile ottenere le notifiche di Discourse”