【问题标题】:Firebase: User information in Authentication has security rules?Firebase:身份验证中的用户信息有安全规则吗?
【发布时间】:2019-08-08 12:18:27
【问题描述】:

身份验证中的 firebase 用户信息是否像我们在 firestore 中一样具有需要保护的安全规则?

目前,我们使用以下安全规则保护 Firestore 集合。

service cloud.firestore {
  match /databases/{database}/documents {

    match /employees/{document=**} {
      allow read: if request.auth.token.admin == true || request.auth.uid == user
      allow write: if false;
    }
  }
}

上述集合的写入操作由 firebase 管理员在 firebase 函数中完成,因此我已阻止来自客户端的所有写入访问。

我在 firebase 函数中通过 firebase admin sdk 访问 Authentication Users 表。我想知道是否有安全规则来启用和禁用来自客户端的访问。

谢谢。

【问题讨论】:

  • 请显示您的代码您的进度。
  • Firebase 用户身份验证对象仅对该用户可用。 Firebase Admin sdk 可以读取所有用户的 auth 对象。
  • 已澄清。我的收获是,用户身份验证信息只能通过 firebase-admin 或用户本人访问,其他客户端无法访问。因此没有适用的安全规则。谢谢。

标签: firebase firebase-authentication firebase-security


【解决方案1】:

所有通过 Firebase Admin SDK(或任何其他服务器 SDK)访问 Firestore 都会完全绕过安全规则。目前也没有办法模拟来自服务器 SDK 的用户访问。您必须在后端代码中复制安全规则的逻辑。

如果您想拥有适用于后端代码的安全规则,您可以随时file a feature request,但我认为这不会很快发生。 Read this blog 了解有关管理 SDK 和安全规则之间关系的更多信息。

【讨论】:

    猜你喜欢
    • 2019-01-20
    • 1970-01-01
    • 1970-01-01
    • 2021-07-05
    • 1970-01-01
    • 1970-01-01
    • 2020-06-23
    • 1970-01-01
    • 2021-07-07
    相关资源
    最近更新 更多