【问题标题】:Xamarin Forms + Firebase - Authenticating users uid by database before allowing read/write of dataXamarin Forms + Firebase - 在允许读/写数据之前通过数据库验证用户 uid
【发布时间】:2020-11-28 13:54:23
【问题描述】:

我开始使用 Xamarin Forms 和 Firebase 构建另一个应用程序来进行身份验证和存储, 但是,上次我构建一个应用程序时,由于我对 Firebase 规则以及如何正确验证用户身份缺乏了解,它遇到了安全问题。

我知道如何读/写我的数据库,我只是不明白如何将用户 UID 从应用程序传递到数据库以通过规则检查以允许他们读/写。

数据库规则:

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

这些规则是用来检查存储在数据库~("Person/", uid)下的用户帐户中的UID传递给数据库的UID。

我怎样才能正确地验证我的用户以允许他们读/写,同时仍然保护数据?

提前致谢。

【问题讨论】:

    标签: c# firebase-realtime-database xamarin.forms firebase-authentication firebase-security


    【解决方案1】:

    如果您使用的是登录 Firebase 身份验证的包(例如 Xamarin.Firebase.Auth),则会自动为您设置安全规则中的 auth 变量(及其 uid 属性)。

    只要用户登录到您的应用程序,他们的 UID 和其他属性就会在安全规则中的 auth 变量中可用。如果客户端在未登录用户的情况下访问数据库,则auth 变量将为null

    【讨论】:

    • 您好,非常感谢您的回复。今天才看到。后来我想通了,但老实说,我完全忘记了我发了这篇文章。再次感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-20
    • 1970-01-01
    • 1970-01-01
    • 2019-01-10
    • 2016-04-22
    • 2017-07-25
    相关资源
    最近更新 更多