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

时间:2019-05-17 16:56:36

标签: firebase firebase-storage

我的网络应用将在Firebase托管上运行,但是我需要通过firebase serve上的localhost:5000在本地对其进行测试 尝试读取Firebase Storage上的文件时出现CORS错误。

我遵循了documentation,并在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()

0 个答案:

没有答案