Cómo resolver el error redirect_uri_mismatch al habilitar Iniciar sesión con Google en Discourse con configuración de reverse proxy

Creé un foro usando Discourse y le asigné un dominio privado, forums-test.com, en el Servidor A. Luego, en el Servidor B (con el dominio test.com), configuré un proxy inverso usando Nginx. Todos los accesos a test.com/forums/ se pasan a forums-test.com en el Servidor A. Además, en el Servidor B, configuré la reescritura de respuestas para que todos los enlaces que apuntan a forums-test.com se reemplacen con test.com/forums/. Todo funciona correctamente, pero cuando intenté habilitar la autenticación de Google para el foro, encontré un problema en el que Google devolvió un error redirect_uri_mismatch. Este error ocurre porque, después de que Google completa la verificación, intenta llamar a test.com/forums/auth/google_oauth2/callback para pasar un token temporal a Discourse. Sin embargo, durante el intercambio de datos entre Discourse y Google, Discourse envía la URL de devolución de llamada como forums-test.com/auth/google_oauth2/callback, lo que causa la discrepancia. Esta solicitud saliente se inicia desde el Servidor A y no puedo modificarla. ¿Cómo puedo resolver este problema?

En tu configuración de Google Cloud, ¿qué pasaría si cambias la URL a forums-test.com/auth/google_oauth2/callback?

1 me gusta

el dominio “forums-test.com” es inaccesible en la red pública, así que en mi Google Cloud, lo configuré a test.com/auth/google_oauth2/callback

1 me gusta

¿Alguien puede ayudarme?