Swift 如何在Firebase上保存用户的自定义信息

Swift 如何在Firebase上保存用户的自定义信息,swift,firebase,Swift,Firebase,使用firebase平台 我想在用户注册后保存一些有关用户的自定义信息。。举个例子,让我们说说他/她最喜欢的颜色 到目前为止,当我注册一个用户时,这是我得到的唯一元数据 我有什么选择可以完成这项工作?您有两个选择: 1-使用自定义索赔 Yo可以将其他数据保存到用户的访问令牌中。您可以在前端和所有数据库规则中直接从用户读取该数据。如果没有太多数据要保存,我建议将其用于基本身份验证数据,如isAdmin或isRole。原因是,您可以保存的数据量非常有限。因为它保存在令牌中,所以它必须很小,所以您不

使用firebase平台

我想在用户注册后保存一些有关用户的自定义信息。。举个例子,让我们说说他/她最喜欢的颜色

到目前为止,当我注册一个用户时,这是我得到的唯一元数据

我有什么选择可以完成这项工作?

您有两个选择:

1-使用自定义索赔

Yo可以将其他数据保存到用户的访问令牌中。您可以在前端和所有数据库规则中直接从用户读取该数据。如果没有太多数据要保存,我建议将其用于基本身份验证数据,如
isAdmin
isRole
。原因是,您可以保存的数据量非常有限。因为它保存在令牌中,所以它必须很小,所以您不应该在其中保存太多。你可以找到更多关于它的信息。您应该使用
admin
sdk通过firebae cloud函数编辑此字段

2-使用其中一个数据库

我经常看到它,在Firebase中,将这些额外的用户数据存储到一个Firebase数据库中是很常见的。您可以通过只允许用户写入和读取,或者根据您的需要只允许读取,来实现这1000%的安全性。如果您想保存的不仅仅是简单的数据,我建议您这样做。还有一个原因是,如果像
admin
这样的任何其他用户需要来自其他用户的数据,您将无法使用第一个选项获取该数据。当用户需要为自己和自己保存数据时,这样做也容易得多。在第一个版本中,您始终需要涉及云功能

我经常使用这两种方法的组合,将类似
isAdmin
的数据保存到自定义声明中,但将所有其他类似
nickname
的数据或类似
language
的设置保存到数据库中。有了这个数据库,当你是一名管理员的时候,我也可以很容易地通过所有用户进行搜索