Ciao,
Discourse è attualmente il software che ritengo abbia il più alto grado di libertà tecnica, quindi l’ho scelto come mio forum. Ma ho riscontrato l’errore “Discovery document is missing” durante la configurazione di OIDC, che mi ha richiesto una settimana , e non ho trovato una soluzione adatta qui.
Ho costruito con successo Discourse seguendo il seguente tutorial:
Quindi ho usato docker per costruire Keycloak, e sia Keycloak che Discourse sono stati distribuiti localmente. Quando ho stabilito la connessione tra Discourse e Keycloak tramite OIDC, ho riscontrato il seguente errore:
OIDC Log: Fetching discovery document raised error Faraday::ConnectionFailed FinalDestination: all resolved IPs were disallowed
1:51 pm
(oidc) Authentication failure! openid_connect_discovery_error: OmniAuth::OpenIDConnect::DiscoveryError, Discovery document is missing
1:51 pm
OmniAuth::OpenIDConnect::DiscoveryError (Discovery document is missing) lib/middleware/omniauth_bypass_middleware.rb:53:in `call' lib/content_security_policy/middleware.rb:12:in `call' lib/middleware/
Secondo questo errore ho trovato la soluzione corrispondente come segue:
Dopo aver seguito la soluzione, è stato segnalato un nuovo errore come segue:
Potrei sbagliarmi, ma dato che Discourse e Keycloak sono entrambi distribuiti localmente con Docker, sei sicuro che Discourse possa effettuare richieste a Keycloak? È qualcosa con cui ho avuto problemi in passato. So che si può far funzionare.
Grazie per la tua paziente risposta che mi ha dato una buona idea . Hai proprio ragione. Il servizio keycloak locale non è accessibile tramite localhost o 127.0.0.1, quindi ho usato l’IP dell’host invece di localhost. Ma è sorto un nuovo problema: