gpt4 book ai didi

node.js - Google OAuth2 : Redirect has been blocked by CORS policy: Request requires preflight, 不允许跟随跨域重定向

转载 作者:行者123 更新时间:2023-12-03 12:42:31 28 4
gpt4 key购买 nike

尝试实现 Google OAuth2 并使用 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 cannot load localhost:8080/myPageName. Redirect from localhost:8080/myPageName to accounts.google.com/o/oauth2/auth?access_type=... has been blocked by CORS policy: Request requires preflight, which is disallowed to follow cross-origin redirect.



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

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

最佳答案

我有同样的问题(有一个 react 前端,但它是一样的)。
这可能是因为在您使用重定向的服务器上,这会触发 CORS(即使您的服务器允许它)。

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

关于node.js - Google OAuth2 : Redirect has been blocked by CORS policy: Request requires preflight, 不允许跟随跨域重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41703169/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com