Google OAuth2:重定向已被 CORS 策略阻止:请求需要预检,不允许遵循跨源重定向

2024-01-12

尝试实现 Google OAuth2 并使用https://github.com/google/google-api-nodejs-client#authorizing-and-authentication https://github.com/google/google-api-nodejs-client#authorizing-and-authenticating作为参考。当将用户重定向到这样的同意页面时

var url = oauth2Client.generateAuthUrl({
    access_type: 'offline',
    scope: some_scope
    });
 res.redirect(url);

我在浏览器控制台中收到此错误(已编辑链接):

XMLHttpRequest 无法加载 localhost:8080/myPageName。从 localhost:8080/myPageName 到 account.google.com/o/oauth2/auth?access_type=... 的重定向已被 CORS 策略阻止:请求需要预检,不允许遵循跨源重定向。

奇怪的是,只有当从 GUI 执行流程时(用户按下按钮;angular2 前端),我才会收到此错误。当我将 localhost:8080/myPageName 直接放入浏览器地址栏中时,一切正常(获取同意书,然后获取令牌)。

任何帮助表示赞赏。谢谢。


我遇到了同样的问题(使用反应前端,但它是相同的)。 这可能是因为您在服务器上使用了重定向,这会触发 CORS(即使您在服务器上允许这样做)。

您必须以其他方式将重定向 URL 返回到前端,从前端应用程序捕获它,然后调用您需要调用的 URL。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google OAuth2:重定向已被 CORS 策略阻止:请求需要预检,不允许遵循跨源重定向 的相关文章

随机推荐