首页 > 解决方案 > 硬编码 Firebase 身份验证

问题描述

我有一个应用程序连接到Firebase.
我已经在数据库中设置了规则,以便一个用户(让我们将其命名为 testUsr)有权读取数据库但不能写入数据库。
iOS应用程序中,我实现了 firebase 的登录功能,但我硬编码了 testUsr 的用户名和密码。所以我的问题是,如果我有一天发布它,我的应用程序是否会因为硬编码的用户身份验证而被拒绝?

标签: iosswiftfirebasefirebase-authentication

解决方案


是的,您的申请将被 Apple 拒绝,因为您使用的是登录服务而没有通过 Apple 实现登录(根据最近发布的指南)。如果整个过程单独发生在代码中,他们可能会例外——我不确定,但我会避免麻烦。

为什么需要登录?难道您就不能在完全不需要登录的情况下将 Firebase 端的数据库设为只读吗?您可以更改数据库中的规则,我在想类似的东西。让我知道它是否不起作用并且我会做更多的研究。

// Allow read/write access on all documents to any user signed in to the application
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow write: if request.auth.uid == "**YOUR MAC ACCOUNT**";
      allow read;
    }
  }
}

推荐阅读