Ciao @balazsorban44, grazie per il promemoria. Ho fatto una prima revisione della PR. Se l’autore non ha tempo di lavorare su queste cose, allora è probabile che possiamo occuparcene noi. Concordo sul fatto che il supporto PKCE sarebbe utile.
Tuttavia, vale la pena notare: non credo che Discourse sia vulnerabile agli attacchi di “intercettazione del codice di autorizzazione” che PKCE protegge. L’autenticazione di Discourse avviene sempre nel browser tramite https e non utilizza schemi URL personalizzati a livello di sistema operativo che possono essere intercettati da altre app.
Ma ovviamente, non c’è nessun danno nell’aggiungere un ulteriore livello di sicurezza
Ciao Chris,
come hai integrato Authentik con questo plugin? Qualsiasi suggerimento sarebbe utile. Stiamo lottando da un paio di settimane per farlo funzionare correttamente.
Hmm, non riesco a ricordare qualcosa di speciale. Qual è esattamente il tuo problema? Vuoi condividere alcuni screenshot della tua configurazione (magari tramite PM)?
Grazie per aver risposto, Chris. Certo. Ti contatterò più tardi questa settimana quando il mio team di sviluppo che stava lavorando su Authentik sarà disponibile. I problemi principali riguardano il flusso e l’outpost.
Ho un problema interessante, prima di distribuire pubblicamente voglio testare che tutto funzioni, quindi il mio provider OIDC è ospitato localmente (sottorete privata) e non è accessibile da Internet.
Purtroppo questo fallisce perché Discourse non consente la connessione a IP privati. oidc.example.org si risolve in un IP privato.
OIDC Log: Fetching discovery document from https://oidc.example.org/application/o/discourse/.well-known/openid-configuration
OIDC Log: Fetching discovery document raised error Faraday::ConnectionFailed FinalDestination: all resolved IPs were disallowed
OIDC Log: Discovery document is
---
(oidc) Request phase initiated.
(oidc) Authentication failure! openid_connect_discovery_error: OmniAuth::OpenIDConnect::DiscoveryError, Discovery document is missing
Penso che poiché openid_connect_discovery_document può essere modificato solo dall’amministratore, dovrebbe essere considerato attendibile e consentire anche IP privati.
C’è un’impostazione del sito chiamata ‘allowed_internal_hosts’. Se aggiungi l’hostname interno a quell’elenco, le richieste ad esso verranno consentite dal Rilevatore SSRF.
Nei servizi di hosting condiviso (come l’hosting ufficiale discourse.org), gli amministratori non sono considerati attendibili per effettuare richieste all’interno dell’ambiente di hosting, motivo per cui questa protezione esiste per impostazione predefinita.
Mi scuso, ma non sono sicuro di poter seguire l’istruzione per installare il plugin. Sto eseguendo Discourse nel mio ambiente Docker locale e non riesco a trovare un app.yml per aggiungere la configurazione.
Può essere una domanda stupida, ma esiste una guida per installarlo in un ambiente di sviluppo locale?
Per un ambiente di sviluppo Docker, prova a controllare in /var/discourse/containers/app.yml?
Tuttavia, per installazioni di sviluppo non Docker, vedi qui:
C’è un openid_connect_error_redirects ma credo che sia per i casi di errore. Hai qualche idea su come posso cambiare il reindirizzamento all’autorità (aka discourse.company.com).
Durante un’installazione manuale del bundle ottengo questo:
Messaggio post-installazione di oauth2:
Hai installato la versione oauth2 1.4.11, che è in EOL.
Non si prevede ulteriore supporto per la serie 1.4.x.
E consigli di aggiornare alla versione 2 di oauth2. Sarebbe molto più confortevole senza questi messaggi, ci sono piani per aggiornare?
Ottengo anche:
Hai installato oauth versione 1.1.0, congratulazioni!
Il supporto non commerciale per la serie 1.x finirà entro aprile 2025. Ti preghiamo di pianificare l’aggiornamento alla versione successiva prima di quella data.
L’unico cambiamento che potrebbe causare problemi sarà la rimozione del supporto per Ruby 2.7 e altre versioni che anche loro avranno raggiunto l’EOL entro allora.
Buongiorno,
l’opzione Allow new registrations (Consenti nuove registrazioni) è strettamente necessaria per il funzionamento del plugin. Questo permette di creare automaticamente l’account alla prima connessione a Discourse e mostra un pulsante “register” (registrati). Ma sarebbe possibile permetterne la disattivazione: cioè, non lasciare la possibilità all’utente che si connette tramite OpenID Connect di modificare i suoi parametri e creare direttamente il suo account. Questo permetterebbe di rimuovere dalla visualizzazione i pulsanti “register” che non hanno motivo di esistere in questo contesto.
Cordiali saluti
Ehi, sei riuscito a configurarlo? Non so perché sono bloccato/a con questo, tra le centinaia di app che ho gestito con OpenID o auth, questa mi sta dando più problemi.