【问题标题】:How to allow authenticated Identity Platform user to upload to Cloud Storage from web如何允许经过身份验证的 Identity Platform 用户从 Web 上传到 Cloud Storage
【发布时间】:2021-10-20 19:05:50
【问题描述】:

我无法使用 Firebase 存储,但我使用的是 Identity Platform (firebase auth)。一旦用户登录到我的 Web 应用程序,我希望他们能够上传到 Cloud Storage 存储桶。我正在考虑这样做的当前方法是拥有一个 Cloud Function,它首先使用 firebase 管理库来验证用户的令牌,然后为上传生成一个签名的 url。 这是执行此操作的正确方法吗?

【问题讨论】:

    标签: firebase-authentication google-cloud-storage pre-signed-url google-cloud-identity


    【解决方案1】:

    Google Cloud Identity Platform 使用与 Firebase 身份验证相同的 SDK 和大部分后端。主要区别在于它支持的功能集及其定价模型。

    如果您的项目设置为使用云识别平台,您仍然可以使用 Firebase SDKs for Cloud Storage 进行上传,并使用 Firebase 的服务器端 security rules 来控制它的读/写访问权限。一个常用的安全模型是 content-owner only access。

    【讨论】:

    • 我无法使用 Firebase 存储的原因实际上是我无法启用 Firebase 存储,因为我的 Orgs 政策和使用默认存储桶的现有 App Engine 项目存在一些问题. (stackoverflow.com/questions/69589227/…)。
    • 我应该补充一点,因为我无法启用 Firebase 存储,所以在尝试与任何存储桶交互时,我在控制台中遇到错误(通过在我的web 应用程序),据我了解,我将无法与尚未通过 firebase 控制台创建的任何存储桶进行交互。
    • 您应该能够使用 Firebase afaik 添加到现有存储桶。请参阅stackoverflow.com/questions/46149059/… 当您明确将代码指向 GAE 存储桶或另一个 GCP 创建的存储桶时,您是否收到错误?
    • "message": "您的存储桶没有为 Firebase 存储正确设置。请访问 'console.firebase.google.com/project/my-project/storage/files' 自动修复此问题,然后重试。如果问题持续时间超过五分钟,您可能没有足够的权限来修复项目。您可以通过访问“console.firebase.google.com/iam-admin/iam/…”查看您的权限。我已经访问了这两个网址,并确认 firebase 角色的 iam 权限是正确的。
    • 在链接的 stackoverflow 响应中尝试该方法时,storageBucket: "<OTHER_STORAGE_BUCKET>.appspot.com" 我从 firebase 收到 404,因为它没有通过 GCP 控制台正常创建的 .appspot.com 域。
    猜你喜欢
    • 2020-10-25
    • 1970-01-01
    • 1970-01-01
    • 2017-07-08
    • 2019-04-21
    • 1970-01-01
    • 2019-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多