2016-06-15 92 views
1

我已经搜遍了Firebase的文档,似乎无法找到将自定义属性添加到FIRAuth的方法。我正在从Parse-Server迁移应用程序,并且我知道我可以设置用户的用户名,电子邮件和objectId。不,我看到我有电子邮件,displayName和photoURL选项。我希望能够添加像用户名一样的自定义属性。例如,我可以使用:将自定义属性添加到Firebase身份验证

let user = FIRAuth.auth()?.currentUser 
      if let user = user { 
       let changeRequest = user.profileChangeRequest() 

       changeRequest.displayName = "Jane Q. User" 
       changeRequest.photoURL = 
        NSURL(string: "https://example.com/jane-q-user/profile.jpg") 
       changeRequest.setValue("Test1Name", forKey: "usersName") 
       changeRequest.commitChangesWithCompletion { error in 
        if error != nil { 

         print("\(error!.code): \(error!.localizedDescription)") 

        } else { 

         print("User's Display Name: \(user.displayName!)") 
         print("User's Name: \(user.valueForKey("name"))") 

        } 
       } 
      } 

当我运行代码时,出现“usersName”不符合键值的错误。这是不是正确的代码使用。我似乎无法找到另一种方式。

回答

4

您无法将自定义属性添加到Firebase身份验证。默认属性已经可用来方便访问用户信息,尤其是在使用提供者(如Facebook)时。

如果您需要存储有关用户的更多信息,请使用Firebase实时数据库。我建议有一个“用户”父母,它将容纳所有的用户子女。此外,还要有一个userId密钥或一个电子邮件密钥,以便识别用户并将他们与其各自的帐户相关联。

希望这会有所帮助。

+0

我会试试这个,谢谢! –

1

Firebase身份验证用户没有“userName”属性,因此代码出现错误。

请检查文档:Firebase Auth user info以及如何change attributes

+0

那么我该如何去添加一个属性到FIRAuth? –