Como Resolver o Erro redirect_uri_mismatch ao Ativar o Login do Google no Discourse com Configuração de Proxy Reverso

Criei um fórum usando Discourse e atribuí a ele um domínio privado, forums-test.com, no Servidor A. Em seguida, no Servidor B (com o domínio test.com), configurei um proxy reverso usando Nginx. Todos os acessos a test.com/forums/ são passados para forums-test.com no Servidor A. Além disso, no Servidor B, configurei a reescrita de respostas para que todos os links que apontam para forums-test.com sejam substituídos por test.com/forums/. Tudo funciona corretamente, mas quando tentei habilitar a autenticação do Google para o fórum, encontrei um problema em que o Google retornou um erro redirect_uri_mismatch. Esse erro ocorre porque, após o Google concluir a verificação, ele tenta chamar test.com/forums/auth/google_oauth2/callback para passar um token temporário para o Discourse. No entanto, durante a troca de dados entre o Discourse e o Google, o Discourse envia a URL de callback como forums-test.com/auth/google_oauth2/callback, causando a incompatibilidade. Essa solicitação de saída é iniciada do Servidor A, e não posso modificá-la. Como posso resolver esse problema?

Nas suas configurações do Google Cloud, e se você alterasse a URL para forums-test.com/auth/google_oauth2/callback?

1 curtida

O domínio “forums-test.com” é inacessível na rede pública, então no meu Google Cloud, eu o defini para test.com/auth/google_oauth2/callback

1 curtida

Alguém pode me ajudar?