Discourse es actualmente el software que creo que tiene el mayor grado de libertad técnica, por eso lo elegí como mi foro. Pero me encontré con el error ‘Falta el documento de descubrimiento’ al configurar OIDC, lo que me llevó una semana , y no encontré una solución adecuada aquí.
Logré construir Discourse siguiendo el siguiente tutorial:
Luego usé docker para construir Keycloak, y tanto Keycloak como Discourse se implementaron localmente. Cuando establecí la conexión de Discourse y keycloak a través de OIDC, me encontré con el siguiente error:
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/
Según este error, encontré la solución correspondiente de la siguiente manera:
Después de seguir la solución, se informó un nuevo error de la siguiente manera:
Es probable que esté equivocado, pero dado que Discourse y Keycloak se implementan localmente con Docker, ¿está seguro de que Discourse puede realizar solicitudes a Keycloak? Es algo con lo que he tenido problemas en el pasado. Sé que se puede hacer que funcione.
Gracias por tu paciente respuesta que me dio una buena idea . Tienes razón. El servicio local de keycloak no se puede acceder a través de localhost o 127.0.0.1, así que uso la IP del host en lugar de localhost. Pero ha surgido un nuevo problema: