根据此文档配置 CORS(跨源资源共享)我尝试在 Python 中为我的 Firebase CF 实现 CORS,如下所示:
@https_fn.on_call(region='europe-west3', cors=options.CorsOptions(
cors_origins="*",
cors_methods=["get", "post"],))
def some_function():
...
然后我成功地将 CF 部署到 firebase
firebase deploy --only functions:some_function
尽管我出于测试目的输入了 * ,因为我在 cors_origins 中也因 r"https://my-domain-1a0a0.web.app" 失败了,但我仍然得到
访问获取 'https://europe-west3-my-domain.cloudfunctions.net/some_function' 从来源“https://my-domain.web.app”开始 被 CORS 策略阻止:对预检请求的响应未通过 访问控制检查:没有“Access-Control-Allow-Origin”标头 存在于所请求的资源上。如果不透明的回答符合你的要求 需要,将请求的模式设置为“no-cors”以获取资源 CORS 已禁用。
我错过了什么吗?
添加
options
为我解决了这个问题:
@https_fn.on_call(region='europe-west3', cors=options.CorsOptions(
cors_origins="*",
cors_methods=["get", "post", "options"],))
def some_function():