为本地主机测试在Firebase存储上启用CORS

为本地主机测试在Firebase存储上启用CORS,firebase,firebase-storage,Firebase,Firebase Storage,我的web应用程序将在Firebase主机上运行,但我需要通过localhost:5000上的Firebase Service进行本地测试 我在尝试读取Firebase存储上的文件时遇到CORS错误 我遵循了,并将相对标题部分添加到firebase.json: { "firestore": { "rules": "firestore.rules", "indexes": "firestore.indexes.json" }, "hosting": { "pub

我的web应用程序将在Firebase主机上运行,但我需要通过
localhost:5000上的
Firebase Service
进行本地测试 我在尝试读取Firebase存储上的文件时遇到CORS错误

我遵循了,并将相对标题部分添加到firebase.json:

{
  "firestore": {
    "rules": "firestore.rules",
    "indexes": "firestore.indexes.json"
  },
  "hosting": {
    "public": "public",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
  "headers": [ {
      "source": "**",
      "headers": [ {
        "key": "Access-Control-Allow-Origin",
        "value": "*"
      } ]
    }]
  },
  "storage": {
    "rules": "storage.rules"
  }
}
但这并没有解决问题。我仍然被CORS错误阻止

使用解决方案编辑

我已经通过使用python库和一个简短脚本解决了这个问题:

#!/usr/bin/env python3

import firebase_admin
from firebase_admin import credentials
from firebase_admin import storage


CREDFILE = home + 'credentials.json'
cred = credentials.Certificate(CREDFILE)
firebase_admin.initialize_app(cred, {
    'storageBucket': '<myapp>.appspot.com'
})
bucket = storage.bucket()

bucket.cors = [{
  'origin': ['*'],
  'method': ['GET'],
  'maxAgeSeconds': 86400
}]

bucket.update()
#/usr/bin/env蟒蛇3
导入firebase_管理员
从firebase_管理员导入凭据
从firebase_管理导入存储
CREDFILE=home+'credentials.json'
cred=凭证.证书(凭证文件)
firebase_管理员初始化_应用程序(cred{
“storageBucket”:“.appspot.com”
})
bucket=storage.bucket()
bucket.cors=[{
“来源”:[“*”],
'method':['GET'],
“maxAgeSeconds”:86400
}]
bucket.update()