Comment résoudre l'erreur redirect_uri_mismatch lors de l'activation de la connexion Google dans Discourse avec une configuration de reverse proxy?

J’ai créé un forum en utilisant Discourse et lui ai attribué un domaine privé, forums-test.com, sur le serveur A. Ensuite, sur le serveur B (avec le domaine test.com), j’ai configuré un proxy inverse à l’aide de Nginx. Tous les accès à test.com/forums/ sont transmis à forums-test.com sur le serveur A. De plus, sur le serveur B, j’ai configuré la réécriture des réponses de manière à ce que tous les liens pointant vers forums-test.com soient remplacés par test.com/forums/. Tout fonctionne correctement, mais lorsque j’ai essayé d’activer l’authentification Google pour le forum, j’ai rencontré un problème où Google a renvoyé une erreur redirect_uri_mismatch. Cette erreur se produit parce qu’après que Google a terminé la vérification, il tente d’appeler test.com/forums/auth/google_oauth2/callback pour transmettre un jeton temporaire à Discourse. Cependant, lors de l’échange de données entre Discourse et Google, Discourse envoie l’URL de rappel comme forums-test.com/auth/google_oauth2/callback, ce qui provoque l’inadéquation. Cette requête sortante est initiée depuis le serveur A, et je ne peux pas la modifier. Comment puis-je résoudre ce problème ?

Dans vos paramètres Google Cloud, que se passerait-il si vous changiez l’URL en forums-test.com/auth/google_oauth2/callback ?

1 « J'aime »

Le domaine « forums-test.com » est inaccessible sur le réseau public. Par conséquent, dans mon Google Cloud, je l’ai défini sur test.com/auth/google_oauth2/callback.

1 « J'aime »

quelqu’un peut m’aider ?