首页 > 解决方案 > 如何在 Xamarin Forms 中使用经过身份验证的用户访问受 Firebase 保护的实时数据库

问题描述

我正在使用带有电子邮件的 Firebase Sign 并获取 authToken 和 Firebase UID 能够访问公共数据库,但我想使用经过身份验证的用户访问受保护的数据库。Firebase 实时数据库规则

{
  "rules": {
    ".read": "auth != null",
    ".write": "auth != null"
  }
}

标签: c#firebase-realtime-databasexamarin.forms

解决方案


如果您想限制对经过身份验证的用户的读取访问权限,您可以在规则中利用这一点,例如auth != null. 您提供的规则可能会限制授权用户可以写入和读取数据。

但是,我们通常建议进一步限制写入访问。

例如,您的应用可能希望确保用户只能读取和写入自己的数据。在这种情况下,您需要 auth.uid 变量和请求数据的用户 ID 之间的匹配:

{
     "rules": {
       "users": {
            "$userId": {
         
            ".write": "$userId=== auth.uid",
             ".read": "$userId=== auth.uid"
                       }
                  }
              }
 }

推荐阅读