0

質問はすでにここで行われていますが、AngularFire が API を更新したため、提供されたソリューションは使用できなくなりました。

私がやっていることは、電子メール/パスワードを使用して新しいユーザーのアカウントを作成し、そのユーザーを Firebase Authentication サービスに保存し、追加情報をデータベースに保存することです。

ただし、認証では、ユーザーは としてキーを持ちsimplelogin:29、データでは、各ユーザーはハッシュされたキーを として持ちます-JpwB9oUVkeT_XRdiX2V。私は彼らの鍵が同じである必要があります。

以下は、auth.$createUser に登録された新しいユーザーを作成し、ユーザー モデルに追加情報を保存するコードです。

var ref = new Firebase('https://myapp.firebaseio.com/');
var auth = $firebaseAuth(ref);

auth.$createUser({
    email: user.email,
    password: user.password 
    }).then(function(regUser) {

    var ref = new Firebase('https://myapp.firebaseio.com/users/')
    var firebaseUser = $firebaseArray(ref);

    var userInfo = {
        key         : regUser.uid, // ex: simplelogin:29
        date        : Firebase.ServerValue.TIMESTAMP,
        firstname   : user.firstname,
        lastname    : user.lastname,
        email       : user.email,
    }; // user info

    firebaseUser.$add(userInfo);
});

認証とデータのユーザーのキーはまだ異なるため、機能しますが、本来の方法ではありません。

4

2 に答える 2

0

次のようなこともできます。

var empsRef = ref.child("http://sample.com/employees");

empsRef.child('11111').set({
  lastname: "Lee",
  firstname: "Kang"
});

empsRef.child('22222').set({
  lastname: "Nut",
  firstname: "Dough"
});

出力は次のようになります。

"employees" : {
  "11111" : {
    "lastname" : "Lee",
    "firstname": "Kang"
  },
  "22222" : {
    "lastname" : "Nut",
    "firstname": "Dough"
  }
}

于 2016-04-21T03:29:05.167 に答える