【发布时间】:2019-04-14 21:57:45
【问题描述】:
我通过firebase身份验证使用用户注册和登录,用户注册/登录的那一刻,我想在我的数据库中存储其他用户信息(如FirstName,LastName,Gender等)。
这是我正在做的事情,但是当存储新用户信息的 rest 调用失败时会发生什么。他第二次登录时不是新用户
loginWithFacebook() {
const provider = new firebase.auth.FacebookAuthProvider();
provider.addScope('user_birthday');
provider.addScope('user_friends');
provider.addScope('user_gender');
return new Promise<any>((resolve, reject) => {
this.afAuth.auth
.signInWithPopup(provider) // a call made to sign up via fb
.then(res => {
if (res) {
resolve(res);
if (res.additionalUserInfo.isNewUser) { // creatin profile only if he is a new user
this.createProfile(res); // a call to store the response in the db
}
this.setTokenSession(res.credential.accessToken);
}
}, err => {
console.log(err);
reject(err);
})
})
}
如何始终确保新的用户信息存储在我自己的db中?
【问题讨论】:
-
您考虑过使用
firebase-admin包吗?您可以在他登录后传递您的用户 ID,然后在后端与您的数据库同步 firebase.google.com/docs/auth/admin/manage-users
标签: node.js angular firebase express firebase-authentication