Swift 检查用户是否已注册

Swift 检查用户是否已注册,swift,firebase,firebase-authentication,Swift,Firebase,Firebase Authentication,我使用FirebaseAuthentication令牌构建了一个自定义身份验证系统 我的注册/登录流程应如下所示: 用户按下登录按钮 我的服务器生成身份验证令牌并将其发送到客户端 检查用户是否已经存在(在“Auth”表或我的数据库中? 如果true:使用FIRAuth.auth()?.sign登录(使用CustomToken:… 如果false:显示表单以输入自定义信息(名称等) 使用FIRAuth.auth()签名?.sign(使用CustomToken:… 将自定义信息保存到我的数据库

我使用FirebaseAuthentication令牌构建了一个自定义身份验证系统

我的注册/登录流程应如下所示:

  • 用户按下登录按钮
  • 我的服务器生成身份验证令牌并将其发送到客户端
  • 检查用户是否已经存在(在“Auth”表或我的数据库中?
    • 如果
      true
      :使用
      FIRAuth.auth()?.sign登录(使用CustomToken:…
    • 如果
      false
      :显示表单以输入自定义信息(名称等)
      • 使用
        FIRAuth.auth()签名?.sign(使用CustomToken:…
      • 将自定义信息保存到我的数据库
  • 我的问题是:我如何知道用户是否已经注册?
    一个只有
    uid
    的可公开访问的数据库会是一个好办法吗?

    这是基于观点的,但是是的,我会使用一个独立的数据库来存储每个注册用户的用户名。然后所需的就是通过一个PHP文件查询任何使用该用户名返回的行的快速web请求。

    firebase的ign in方法将在异步回调中进行反馈

    FIRAuth.auth()?.signInWithEmail(email, password: password, completion: { (user , error) in
        if let error = error {
            print(error.localizedDescription)
            return
        }
        self.signedIn(user)
    })
    
    如果你还没有注册。错误将打印出来

    There is no user record corresponding to this identifier. The user may have been deleted.
    

    我知道,但我正在使用
    登录(withCustomToken:
    ),如果用户不存在,则创建该用户,如果用户确实存在,则登录该用户。