Falta el documento de descubrimiento

Hola,

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 :face_with_spiral_eyes:, 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:

(oidc) Authentication failure! openid_connect_discovery_error: OmniAuth::OpenIDConnect::DiscoveryError, Discovery document is missing
2:00 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/

Aquí hay algunas de mis configuraciones:


El puerto de Keycloak es 7070

Los contenidos del documento de descubrimiento de openid connect son los siguientes

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.

3 Me gusta

Gracias por tu paciente respuesta que me dio una buena idea :blush:. 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:

Luego decodifiqué la url y descubrí que la url de redirección apuntaba a http://127.0.0.1:3000/auth/oidc/callback en lugar de http://127.0.0.1:4200/auth/oidc/callback cuyo puerto es el puerto de la página principal de discusión. Finalmente, realicé las modificaciones correspondientes en Keycloak y tuve éxito:

2 Me gusta

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.