Firebase:我应将用户数据存储在身份验证配置文件或数据库上

时间:2019-06-29 12:10:47

标签: firebase flutter firebase-authentication

我使用@Override public void onActivityResult(int requestCode, int resultCode) { showLog("???"); if (resultCode == RESULT_OKAY) { switch (requestCode) { case PICK_PROVIDER_CODE: showLog("worked!"); /* providerId = data.getLongExtra(PROVIDER_ID, 0); inputBillProvider.setText(data.getStringExtra(PROVIDER_NAME)); selected = data.getStringExtra(PROVIDER_NAME); setProviderValidation(selected);*/ break; } } 在Flutter应用中注册了一个用户。效果很好,并且用户显示在我的Firebase控制台中。

现在,每当我打开应用程序时,

FirebaseAuth.instance.verifyPhoneNumber()都会为我返回用户。 我应该在这里存储用户信息(年龄,体重等),还是应该在我的FirebaseAuth.instance.currentUser()中创建一个users集合并在其中链接Database

此外,我应该将其存储在与currentUser().uid链接或与登录信息链接的数据库上。例如,将uid链接到user而不是phoneNumber。因为如果您曾经删除用户,但是他们想要再次注册,那么他们将获得一个新的uid,但是他们的uid将保持不变,因此仍然可以链接到他们的旧数据。 / p>

1 个答案:

答案 0 :(得分:1)

您不能将任意数据添加到Firebase身份验证用户配置文件。因此,您应该将其他数据存储在数据库中,并确实将其与用户的UID关联,以便您可以轻松地查找它。这也使您可以更轻松地实现对用户的搜索,因为客户端Firebase身份验证SDK除了当前已登录的用户外,没有任何功能可以为任何用户查找数据。


另一个问题:如果用户从您的应用程序中删除其帐户,则您应该尊重他们的意愿,并删除为其存储的其他数据。