2016-12-15 8 views
3

私は電子メールとパスワードを使ってユーザーを作成する方法を知っていますが、名前と姓でも彼を作成できますか? これは私のコード形式のメールアドレスとパスワードAngularFire2作成者(名前、姓、Eメール、パスワード)

registerUser(formData) { 
    if(formData.valid) { 
     this.af.auth.createUser({ 
      email: formData.value.email, 
      password: formData.value.password, 
      }).then((success) => { 
       this.routing.navigateByUrl('/login'); 
      }).catch((error) => { 
       console.log(error); 
      }) 
    } 
} 

私は書くことができない

registerUser(formData) { 
    if(formData.valid) { 
     this.af.auth.createUser({ 
      email: formData.value.email, 
      password: formData.value.password, 
      name: formData.value.name, // this is error :(
      surname: formData.value.surname, // this is error :(
      }).then((success) => { 
       this.routing.navigateByUrl('/login'); 
      }).catch((error) => { 
       console.log(error); 
      }) 
    } 
} 

任意のアイデアはありますか?

答えて

6

「this.af.auth.createUser」は電子メールとパスワードのみ受け付けます。また、Firebaseの組み込みユーザプロファイルにカスタムプロパティ(名前または姓)を設定することはできません。

のみ利用可能なプロパティは以下のとおりです。

  • のdisplayName
  • メール
  • photoURL
  • providerId
  • uidのあなたは間違いなく 'のdisplayName' であれば、それを保存することができるように

あなたが欲しかった、そうでなければあなたはtを使う必要があるでしょう追加のユーザデータを保存するFirebaseリアルタイムデータベース。私は、あなたが署名した人を持っている必要があります「のdisplayName」を設定すると考えてい

(あなたがユーザーに署名した後に)あなたが次のことを行うことができますのdisplayNameを使用するには:。

user.updateProfile({ 
    displayName: "Name here" 
}).then(() => { 
    // Update successful 
} 

使用するにはFirebaseリアルタイムデータベース:

registerUser(formData) { 
    if(formData.valid) { 
     this.af.auth.createUser({ 
      // Create user 
      email: formData.value.email, 
      password: formData.value.password 
     }).then((user) => { 
      // User created now create the database user 
      return this.af.database.object(`/users/${user.uid}`).update({ 
       name: formData.value.name, 
       surname: formData.value.surname 
      }); 
     }).then(() => { 
      // Success 
      this.routing.navigateByUrl('/login'); 
     }).catch((error) => { 
      // Error 
      console.log(error); 
     }); 
    } 
} 

(上記のコードをテストする機会はありませんでした)。

+1

ありがとうございます:) – qwerty1234567

関連する問題