(Swift 4) 如何在 firebase 中生成自定义自动 id?

Posted

技术标签:

【中文标题】(Swift 4) 如何在 firebase 中生成自定义自动 id?【英文标题】:(Swift 4) How to generate custom auto id in firebase? 【发布时间】:2020-03-14 13:55:54 【问题描述】:

如何在 Firebase 中生成自定义自动 ID? 我用的是 swift 4。

现在是我在 firebase 中注册用户时的项目。 id 会是这样的: user_id: 25ERcRyKtAR5IYPBI9XzJLu8I3F2

我需要为管理员设置一个搜索中心,所以我需要制作 id 样本。

我想要这样的 id:(以 (18xxxxxx) 和 8 个数字开头。)

user_id: 18435237
user_id: 18947232
user_id: 18451323
user_id: 18749325

【问题讨论】:

听起来是一个非常清晰的用例。您在实施时遇到了什么问题? 使用Auth()创建用户时无法自定义用户ID。 【参考方案1】:

用户帐户的 UID 由为该用户帐户铸造令牌的提供商确定。无法控制任何现有 Firebase 身份验证提供程序生成的 UID。

如果您想控制 UID,您必须创建自己的提供程序,如下所示:https://firebase.google.com/docs/auth/ios/custom-auth

我建议不要这样做,并考虑:您试图通过控制 UID 来完成什么,并查看是否有其他方法可以完成此操作。现在它读起来像XY problem,上面是我能告诉你的最好的。

【讨论】:

感谢您的回答。现在我使用一种特殊的解决方案来解决这个问题。我将 Auth().displayName 设置为 8 个随机 Int。 Real 用户名将存储在 RealTimeDB 中。 RealTimeDB 中的用户表将是 8 个随机 Int。哈哈~这是我能做的唯一解决方案,这是工作。 Auth 和 RealTimeDB 有连接,我可以保持 8 个随机 Int 为 uid。 正如我已经说过的,它听起来像 XY problem,如果你不告诉我们 X 是什么,这真的很难帮助。很高兴听到您找到了适合您的东西。 ?

以上是关于(Swift 4) 如何在 firebase 中生成自定义自动 id?的主要内容,如果未能解决你的问题,请参考以下文章

如何从fireBase推送通知swift 4中获取数据

Swift中的FireBase电话号码验证错误

如何在 Swift 4 中更新 Firebase 身份验证中的电子邮件地址

如何知道在 swift 4 中实时 Firebase 的 childChanged 事件类型中更新了哪个子子项

如何让计算机在 Swift 中生成预定义的一组数字?

swift 4如何将firebase Crashlytics用于多个标识符IOS的多个捆绑标识符