确保在Firebase(Swift)中创建新用户时使用唯一的用户名

优素福·哈姆穆德(Youssef Hammoud)

我是Firebase的新手,因此任何提示将不胜感激。现在,我正在使用Firebase登录和身份验证为我处理所有身份验证。但是我想存储一些用户数据,例如用户名DOB,created_at ...我已经创建了一个用户节点,并且我将使用在注册或登录时获得的唯一ID将子节点附加到用户。但是,我想确保系统中没有重复的用户名。在写入服务器之前,如何检查用户名是否已存在?

克里斯·康威

我目前正在调查同一件事。我的问题是我还希望启用持久性,因此我需要了解可以脱机访问的内容。如果您使用的是持久性,我还建议您禁止进行某些特定操作,例如在客户端脱机时检查用户名是否存在,您可以通过侦听“ .info / connected”来进行操作,详情如下:

https://firebase.google.com/docs/database/ios/offline-capabilities#section-connection-state

我的个人工作流程如下:

  1. 登录到用户的帐户
  2. 检查用户是否已经有用户名

检查Firebase数据库以查看其用户详细信息是否包括用户名:

DB/users/*userUID*/username != nil
  1. 如果他们没有用户名,则提示他们设置用户名。

当他们设置用户名时,请检查用户名是否存在于:

DB/usernames/*username*/ != nil

如果不存在,请在上面检查的两个数据库位置中写入用户名和用户ID。

例如。

user.uid = wewe32323

用户名= scuba_steve

DB/usernames/scuba_steve = wewe32323
DB/users/wewe32323/username = scuba_steve

因此,现在您有了数据库/用户名引用,可以快速检查以查看是否有人已经拥有用户名,并且还具有数据库/用户/可以在其中快速找到给定用户的用户名。

我不会说这是万无一失的,因为我仍然对并发请求有一些担忧。我正在调查的当前问题是,可以说您删除了与特定用户的用户名关联,该用户可能依赖于其数据库的本地副本来错误地断言他们仍被分配给该用户名。

您可以查看数据库写入规则,以禁止任何人修改现有数据(如果没有现有数据,则只能写入DB / usernames目录。这将防止覆盖任何先设置用户名的人,我认为这是重要的一步。

还可能值得调查交易:

https://firebase.google.com/docs/database/ios/save-data#save_data_as_transactions

但我认为,以上段落中提到的正确书写规则应允许可靠的书写。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

更新用户详细信息jQuery模式时检查唯一的用户名

来自分类Dev

Django:登录时创建新用户时,用户名为空

来自分类Dev

如何在Firebase中使用用户名,电子邮件和密码创建新用户?

来自分类Dev

如何在Firebase中使用用户名,电子邮件和密码创建新用户?

来自分类Dev

无法在 wordpress 中更新用户名

来自分类Dev

Mysql更新用户名

来自分类Dev

使用Flutter在Firebase中使用唯一的用户名

来自分类Dev

Firebase Android:使用户名唯一

来自分类Dev

AppEngine Python-如何确保用户使用唯一的用户名注册

来自分类Dev

AppEngine Python-如何确保用户使用唯一的用户名注册

来自分类Dev

检查重复的用户名阻止更新用户

来自分类Dev

如何检查新用户名是否是系统用户?

来自分类Dev

用户名更改后在导航栏中刷新用户名(使用 Asp.Net、MVC 和 C#)

来自分类Dev

React-Native更新用户名问题

来自分类Dev

在配置文件页面上更新用户名后,数据库中的用户名已更改,但页面上的旧用户名

来自分类Dev

如何确保唯一的电子邮件,用户名将使用Mongoose进入MongoDB

来自分类Dev

如何确保唯一的电子邮件,用户名将使用Mongoose进入MongoDB

来自分类Dev

创建新用户

来自分类Dev

Celery:无法使用新用户名连接远程工作者

来自分类Dev

在 Wordpress 中创建新用户(订阅者)时出错

来自分类Dev

在 Devise 中创建新用户时设置基本实体

来自分类Dev

在React中使用Firebase Auth创建新用户时出现内部错误

来自分类Dev

使用Firebase创建新用户时如何避免自动登录

来自分类常见问题

创建新用户时ActiveModel :: ForbiddenAttributesError

来自分类Dev

使用UserPrincipalEX创建一个新用户

来自分类Dev

如何在实体中的使用表中创建 PK 和唯一用户名(使用代码优先)?

来自分类Dev

如何为Django创建唯一的随机用户名?

来自分类Dev

如何为Django创建唯一的随机用户名?

来自分类Dev

在WordPress中单击时创建一个新用户

Related 相关文章

  1. 1

    更新用户详细信息jQuery模式时检查唯一的用户名

  2. 2

    Django:登录时创建新用户时,用户名为空

  3. 3

    如何在Firebase中使用用户名,电子邮件和密码创建新用户?

  4. 4

    如何在Firebase中使用用户名,电子邮件和密码创建新用户?

  5. 5

    无法在 wordpress 中更新用户名

  6. 6

    Mysql更新用户名

  7. 7

    使用Flutter在Firebase中使用唯一的用户名

  8. 8

    Firebase Android:使用户名唯一

  9. 9

    AppEngine Python-如何确保用户使用唯一的用户名注册

  10. 10

    AppEngine Python-如何确保用户使用唯一的用户名注册

  11. 11

    检查重复的用户名阻止更新用户

  12. 12

    如何检查新用户名是否是系统用户?

  13. 13

    用户名更改后在导航栏中刷新用户名(使用 Asp.Net、MVC 和 C#)

  14. 14

    React-Native更新用户名问题

  15. 15

    在配置文件页面上更新用户名后,数据库中的用户名已更改,但页面上的旧用户名

  16. 16

    如何确保唯一的电子邮件,用户名将使用Mongoose进入MongoDB

  17. 17

    如何确保唯一的电子邮件,用户名将使用Mongoose进入MongoDB

  18. 18

    创建新用户

  19. 19

    Celery:无法使用新用户名连接远程工作者

  20. 20

    在 Wordpress 中创建新用户(订阅者)时出错

  21. 21

    在 Devise 中创建新用户时设置基本实体

  22. 22

    在React中使用Firebase Auth创建新用户时出现内部错误

  23. 23

    使用Firebase创建新用户时如何避免自动登录

  24. 24

    创建新用户时ActiveModel :: ForbiddenAttributesError

  25. 25

    使用UserPrincipalEX创建一个新用户

  26. 26

    如何在实体中的使用表中创建 PK 和唯一用户名(使用代码优先)?

  27. 27

    如何为Django创建唯一的随机用户名?

  28. 28

    如何为Django创建唯一的随机用户名?

  29. 29

    在WordPress中单击时创建一个新用户

热门标签

归档