Firebase UID 是不是总是 28 个字符?

Posted

技术标签:

【中文标题】Firebase UID 是不是总是 28 个字符?【英文标题】:Is a Firebase UID always 28 characters?Firebase UID 是否总是 28 个字符? 【发布时间】:2017-10-10 05:01:41 【问题描述】:

我正在为我的 Firebase 项目创建安全规则,并希望将 UIDstring.length == 28 添加到我的数据库规则中。我所有的用户 UID 都是 28 个字符,但我想检查它们是否可以更长或更短?

谢谢

【问题讨论】:

【参考方案1】:

字符串类型的uid用于分配给新创建的用户。必须是长度在 1 到 128 个字符之间的字符串,包括 1 到 128 个字符。如果不提供,会自动生成一个随机的uid。

https://firebase.google.com/docs/auth/admin/manage-users

【讨论】:

虽然您可以分配的 uid 的长度可以在 1 到 128 个字符之间,但这并不意味着自动生成的 firebase uid 的长度将在 1 到 128 个字符之间。查看firebase.google.com/docs/auth/admin/manage-users#create_a_user中的uid属性 如果您想在数据库中设置 UID 的 varchar 长度,此答案很有帮助。所以现在你知道 128 是最大可能的长度。【参考方案2】:

一位 Firebase 开发人员在他们的论坛上有 this to say:

我不会永远依赖 UID 的恒定长度。我们选择了当前值,因为它提供了足够大的 ID 空间,同时仍低于 Firebase Analytics 用户属性的 36 个字符的限制。

因此,换句话说,您的建议将来可能会失败,也可能不会失败,因此您可能应该找到一种更具前瞻性的实施方式。

【讨论】:

对我来说最有意义 如果你连接 uid 来制作另一个密钥并依赖于长度会很烦人

以上是关于Firebase UID 是不是总是 28 个字符?的主要内容,如果未能解决你的问题,请参考以下文章

Firebase 身份验证导入是不是会保留给定的 UID?

在 Firebase 中通过电子邮件查找 UID

如何根据数据库用户 id(不是 uid)设置 firebase 规则

从另一个函数中的promise内部返回一个值[重复]

Firebase 安全规则:限制仅写入此 uid,几个字段除外

如何从 Flutter 中的 Firebase 的 UID 获取任何用户的电子邮件? [复制]