Firebase 中的 Auth 用户名 (displayName) 验证

Posted

技术标签:

【中文标题】Firebase 中的 Auth 用户名 (displayName) 验证【英文标题】:Auth Username (displayName) validation in Firebase 【发布时间】:2021-10-04 00:36:46 【问题描述】:

我正在制作一个聊天应用程序,并且我正在使用 firebase 进行身份验证。目前,允许两个或多个用户拥有相同的用户名 (displayName)。我想添加验证以防止这种情况。以下是注册功能。我正在使用 Vue.js,但对于非 Vue 用户来说也应该很容易理解。

methods: 
    signup(e) 
      e.preventDefault();
      firebase
        .auth()
        .createUserWithEmailAndPassword(this.email, this.password)
        .then((result) => 
          result.user.updateProfile(
            displayName: this.username,
          );
          this.email = "";
          this.password = "";
          this.$emit("closemodal");
        )
        .catch((error) => 
          this.error = error.message;
        );
    ,
  ,

提前谢谢你。

【问题讨论】:

【参考方案1】:

我不建议在用户的displayName 中存储username。在这种情况下,验证唯一用户名会很困难。

我宁愿建议将用户名存储在其中一个 Firebase 数据库中,然后使用云函数或前端代码更新 displayName。至少应该在数据库上进行验证,因为您可以编写规则,使重复的​​username 是不可能的。

Here 是一个链接,您可以在其中找到各种解决方案。

【讨论】:

以上是关于Firebase 中的 Auth 用户名 (displayName) 验证的主要内容,如果未能解决你的问题,请参考以下文章

Android - 自动从 Firebase Auth 中删除非活动用户

Firebase Auth - 自定义声明的用户列表

Firebase Auth iOS用户匿名创建但未在控制台中显示

检查用户是否已登录Flutter&firebase auth |

快速js中的firebase googlesignin错误

Flutter Firebase Auth - PHP 服务器中的令牌验证问题