【问题标题】:How to setup firebase realtime DB authentication using only one account for all the users如何为所有用户仅使用一个帐户设置 Firebase 实时数据库身份验证
【发布时间】:2019-02-13 04:49:55
【问题描述】:

在我的 android 应用程序中,我不希望用户单独登录。我想为所有用户设置一个单一帐户进行身份验证,以便将数据读取和写入 Firebase 实时数据库。我将不得不在代码中写入用户名和密码。如果我使用 proguard,任何人都可以反编译并查看此身份验证信息吗?我问是因为 proguard 并没有掩盖一切。这也是使用单个帐户进行身份验证的好方法吗?

我已经为此寻找可能的解决方案。但没有找到答案。每个人都进行用户登录并使用该信息进行身份验证。

【问题讨论】:

  • 如果需要在应用程序中知道用户名和密码,可以由用户提取。即使您对它们进行了加密:当加密必须是可逆的时,它也可以由您的应用程序的用户执行。但这听起来像XY problem。您想通过使用身份验证来完成什么,但不要求您的用户以自己的身份登录?
  • 我正在尝试添加特定于设备的应用购买。意味着不支持多设备。所以我通过设备 ID 识别每个用户。这就是为什么不想让用户完成注册过程的原因。将应用内购买信息保留在 Firebase 中,以便重新安装或清除数据不会同时删除用户购买信息。您能否详细说明用户如何从应用程序中提取该帐户信息?或者也许有一些关于这个的链接。非常感谢您提供信息丰富的回复。
  • 如果有人可以访问设备(例如窃取设备),他们可以反编译 APK 并从中提取数据。他们的努力是否值得很难说,但从技术上讲:您的应用程序代码可以访问的任何内容,恶意用户也可以访问。

标签: firebase firebase-authentication proguard


【解决方案1】:

我认为您需要的是匿名使用 Firebase 进行身份验证。

https://firebase.google.com/docs/auth/android/anonymous-auth

【讨论】:

    【解决方案2】:

    默认情况下,您的数据库规则需要 Firebase 身份验证,并且仅向经过身份验证的用户授予完整的读写权限。默认规则确保在您有机会配置数据库之前,任何人都无法访问您的数据库。设置完成后,您可以根据需要自定义规则。以下是一些常见的例子:

    // These rules give anyone, even people who are not users of your app,
    // read and write access to your database
    {
     "rules": {
     ".read": true,
     ".write": true
     }
    }
    

    现在,没有身份验证,您的所有用户都可以访问数据,但这不是使用数据库的最佳方式。

    参考link

    【讨论】:

    • 对不起,这根本不能回答我的问题!
    猜你喜欢
    • 2018-07-15
    • 2021-12-04
    • 2019-07-10
    • 1970-01-01
    • 2016-06-29
    • 2021-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多