【问题标题】:Upload media to Firebase Storage from Standalone Apple Watch app从独立 Apple Watch 应用将媒体上传到 Firebase 存储
【发布时间】:2019-07-25 11:11:14
【问题描述】:

除了我们的应用程序之外,我正在尝试创建一个仅限 Apple Watch 的应用程序。这将是一个独立的应用程序,与基础应用程序无关。

我无法使用 Firebase SDK-s 或其他 Google SDK-s,因为它们都不支持手表。

我正在尝试使用 REST API-s,但遇到了障碍。

我可以成功地为身份工具包域“https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=”的用户/密码帐户检索令牌

这给了我一个我试图用于端点的令牌:

https://www.googleapis.com/upload/storage/v1/b/mybucketid/o?uploadType=media&name=test233

但是这个端点告诉我我是未经授权的。当我使用从 OAuth 2.0 游乐场获得的令牌时,它可以工作。

问题是那个过期了,我显然不能每次都使用新令牌构建应用程序。

你能告诉我我做错了什么吗?我无法在手表上打开 web 视图来批准登录,也无法与 iPhone 通信,因为这是一个独立的应用程序。我需要一些硬编码的纯代码。这仍然是一个实验,不会面向真实用户。一个不会过期的令牌也适用于我的用例。

我更改了我的存储桶政策,让我的用户应该能够写入它,但它仍然给我带来了授权问题。

【问题讨论】:

    标签: swift firebase rest firebase-storage watch


    【解决方案1】:

    我认为您不能通过 REST API 使用 Firebase 身份验证用户上传到受 Firebase 保护的 Cloud Storage 存储分区。本质上,REST API 不知道如何执行 Firebase 规则,并且只接受来自项目合作者的 OAuth2 令牌附带的操作。

    【讨论】:

      【解决方案2】:

      您能否通过 iPhone 应用程序进行身份验证并在旧应用程序过期时从那里获取令牌?我知道您正在构建一个独立的手表应用程序,但也许这是一个值得做出的妥协。然后您可以使用 Firebase 函数上传图像,验证令牌 (admin.auth().verifyIdToken(token)) 并将图像推送到云存储。我没有尝试使用图像,但已成功将经过身份验证的有效负载从 watchKit 应用程序提交到 Firebase 实时数据库 REST 端点。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-03
        • 2015-09-06
        • 1970-01-01
        • 2015-01-17
        • 2019-02-01
        • 2015-09-13
        相关资源
        最近更新 更多