2016-06-15 90 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? –