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 ?