如何使用 Firebase 托管的 webapp 获取没有 CORS 标头的外部数据?

joh*_*rfx 5 cors firebase ionic-framework firebase-hosting angular

我的 Ionic2 应用程序托管在 Firebase 上。我需要的是从 API 服务获取外部数据,其中

请求的资源上不存在“Access-Control-Allow-Origin”标头

我可以通过在ionic.config.json文件中使用代理来在本地解决它:

"proxies": [
{
"path":"/api",
"proxyUrl": "https://api.somwhere.com/"
}
]
Run Code Online (Sandbox Code Playgroud)

但是在将我的应用程序部署到 Firebase 后,我不知道如何处理这个问题。它以某种方式可能吗?

sid*_*ker 5

Firebase文档有一个设置的示例,Access-Control-Allow-Originfirebase.json允许对字体文件进行跨域请求。你可以这样调整:

"headers": [ {
  "source" : "**",
  "headers" : [ {
    "key" : "Access-Control-Allow-Origin",
    "value" : "*"
  } ]
}
Run Code Online (Sandbox Code Playgroud)

这将允许对所有资源的跨域请求。当然如果你想将其限制为特定资源,你可以调整该source值。


小智 1

这可能不是 firebase 相关的问题。您的 api 需要在标头中发送 CORS。接受全部 (*) 或您的特定 Firebase 托管应用程序。轻松修复用 .net 编写的 API 请参阅链接https://learn.microsoft.com/en-us/aspnet/web-api/overview/security/enabling-cross-origin-requests-in-web-api