Javascript 未为firebase云功能启用Cors
我正在使用cors npm包来解决cors问题,但没有效果。这在以前是可行的,但当我切换到我的开发环境时,我不断遇到以下错误: 在'https://carside.firebaseapp.com/sendsmstoconsumer“起源”https://carside.web.app'已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在'access control Allow Origin'标头。如果不透明响应满足您的需要,请将请求的模式设置为“no cors”,以获取禁用cors的资源 以下是我的函数代码的设置方式:Javascript 未为firebase云功能启用Cors,javascript,node.js,firebase,google-cloud-functions,cors,Javascript,Node.js,Firebase,Google Cloud Functions,Cors,我正在使用cors npm包来解决cors问题,但没有效果。这在以前是可行的,但当我切换到我的开发环境时,我不断遇到以下错误: 在'https://carside.firebaseapp.com/sendsmstoconsumer“起源”https://carside.web.app'已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在'access control Allow Origin'标头。如果不透明响应满足您的需要,请将请求的模式设置为“no cors”,以获
const functions = require('firebase-functions')
const express = require('express')
const app = express()
const accountSid = 'SECRET'
const authToken = 'SECRET'
const client = require('twilio')(accountSid, authToken)
const cors = require('cors')
// Enable cors for everything
// TODO: Re-enable cors at a later date
// src: https://www.npmjs.com/package/cors
app.use(cors())
app.post('/sendsmsverificationmessage', cors() ,(request, response) => {
client.verify.services('SECRET')
.verifications
.create({to: request.body.phone, channel: 'sms'})
.then(verification => {
response.send("Your verification code has been sent to your phone!" )
});
})
exports.app = functions.https.onRequest(app)
在我看来没问题,也许可以检查一下您在进行更改后是否重新启动了express服务器。否则,我不使用cors包,而是使用*中的代码段授予一切访问权,但它可以被您想要授予访问权的特定域替换 编辑:另外,您正在使用cors两次。在应用程序中使用一次,然后在路线中再次使用。我不认为这会导致cors不工作,但这是不必要的 app.usefunctionreq,res,next{ res.headerAccess-Control-Allow-Origin,*;//更新以匹配您将从中发出请求的域 res.headerAccess-Control-Allow-Headers,来源,X-Requested-With,内容类型,接受; 下一个
}; 使用外部库处理选项调用 您需要:
const cors = require('cors')({origin: true});
另见:
app.usecors使所有页面都可以通过corsYes访问它应该是我仍然会收到no access错误我现在收到此错误已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“access control Allow Origin”标头。我已删除cor并开始使用app.usecors,它仍然不起作用。这就是我现在收到的错误。对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标题。您可能需要重新阅读该问题