【问题标题】:Hard coded Firebase Auth [closed]硬编码的 Firebase 身份验证 [关闭]
【发布时间】:2026-02-22 11:30:01
【问题描述】:

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

【问题讨论】:

  • 你在控制台中遇到什么错误?你能分享你的代码吗?
  • 我认为您不理解我的问题,但这可能是我的错。我没有任何错误,一切正常。我只是想知道在应用审查时是否会出现问题,因为我在我的应用中使用了身份验证信息。

标签: ios swift firebase firebase-authentication


【解决方案1】:

是的,您的申请将被 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;
    }
  }
}

【讨论】:

  • 感谢您的回答。我不想让数据库只读的原因是有一个单独的 macOS 应用程序写入数据库但它仅供我自己使用,我不会在 App Store 中发布它。跨度>
  • 等待是否可以制定规则,如果我只想读取数据库则无需进行身份验证,但如果您想写入数据库则需要进行身份验证?也许这没有任何意义,但我只是在想
  • 我更新了我的答案。我认为这可能有效。另外,在这里:firebase.google.com/docs/rules/rules-language
  • 好的,所以我将规则更改为:“允许读取;”并从IOS应用程序中删除了登录功能。这是否意味着我的应用不会因为这个问题而被拒绝?
  • 我认为现在应该没问题,只要您的身份验证工作只在您身边而不是在客户端完成。只是好奇这是什么类型的应用程序?