尝试实现 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(使用前将#替换为@)