javascript - CORS 错误:使用 res.redirect() 时没有“Access-Control-Allow-Origin”标头
问题描述
我正在尝试通过 res.redirect() 设置 oauth2.0,但尝试在前端获取时遇到错误。
CORS 策略已阻止从源“http://localhost:3000”获取“https://accounts.google.com/o/oauth2/v2/auth”的访问权限:对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。如果不透明的响应满足您的需求,请将请求的模式设置为“no-cors”以获取禁用 CORS 的资源。
这是代码
router.get('/auth/google', async (req, res) => {
await res.redirect(googleLoginUrl)
})
const googleLoginUrl = oauth2Client.generateAuthUrl({
scope: [
'https://www.googleapis.com/auth/userinfo.email',
'https://www.googleapis.com/auth/userinfo.profile'
],
response_type: 'code',
prompt: 'consent'
})
截至目前,使用 res.redirect() 时无法设置标头,因此我无法将“Access-Control-Allow-Origin”设置为“*”。我还有什么其他选择?
解决方案
推荐阅读
- php - 如何在 php jquery 中将 ajax 响应转换为 pdf 文档?
- scala - 未找到:值 scalaJSModuleKind
- python - 如何在绘图栏中调整列的颜色?
- php - PHP:十六进制到 HSL 的转换不适用于某些颜色
- azure-iot-hub - Azure IotHub 路由不起作用
- wpf - 解决由于 dataBinding 而生成的 WPF 内存泄漏问题
- node.js - Google Sheet npm 包更新表与排序数据(Node.js)
- asynchronous - Mocha 测试异步函数,它没有显式返回一个承诺
- kubernetes - 如何从 POD 中获取运行 POD 的节点的主机名
- python - TypeError: <<: 'str' 和 'int' 的操作数类型不受支持