Firebase v3リファレンスガイド は、createUserWithEmailAndPassword(email, password)
がnull以外のfirebase.Promise
を含むfirebase.User
を返すことを示します。
Firebase v3 パスワードベースのアカウントガイドを使用してFirebaseで認証する は、次の例を示しています
firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// ...
});
私の質問は、リアルタイムデータベースのusers
ノードにユーザーを追加する関数を起動することです。サイト登録フォームから収集したユーザー表示名を含めたい。したがって、.then
を実行したいようで、createUserWithEmailAndPassword
メソッドが成功した場合は、新しいユーザー(表示名付き)をRealtime Database users
ノード。
サンプルスクリプトを.then
スタイルに変更するにはどうすればよいですか?
then()
の正しい使用法とcreateUserWithEmailAndPassword
でのエラー処理は次のとおりです。
firebase.auth().createUserWithEmailAndPassword(email, password).then(function(user) {
var user = firebase.auth().currentUser;
logUser(user); // Optional
}, function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
});
function logUser(user) {
var ref = firebase.database().ref("users");
var obj = {
"user": user,
...
};
ref.Push(obj); // or however you wish to update the node
}
別の例 here があります。
ここに私がやったこととそれが働いた。
function registerUsername(email,password,displayName){
firebase.auth().createUserWithEmailAndPassword(email, password).then(function(value) {
console.log(value);
}).catch(function(error) {
console.log(error);
});
}
これを確認して、ペイロードまたはスナップショットを読み取る必要があります(firebase用語)
firebase.auth().createUserWithEmailAndPassword(credentials.email, credentials.password)
.then((authData) => {
console.log("User created successfully with payload-", authData);
//Write code to use authData to add to Users
}).catch((_error) => {
console.log("Login Failed!", _error);
})