Javascript Firebase登录Facebook/Google-UID
我几乎完成了一项工作,遇到了一个大问题,我使用firebase进行了登录/注册,并调用了我在几乎所有项目中使用的一些函数,如firebaseAuth.onAuthStateChanged(user=>{如果(user.uid)做些什么……问题是,我使用Google/Facebook添加了登录,但它没有firebase的uid(如果我做得对),当使用一些社交midia登录firebase时,可以向该用户注册一些uid,这就是我所做的:Javascript Firebase登录Facebook/Google-UID,javascript,reactjs,firebase,firebase-realtime-database,firebase-authentication,Javascript,Reactjs,Firebase,Firebase Realtime Database,Firebase Authentication,我几乎完成了一项工作,遇到了一个大问题,我使用firebase进行了登录/注册,并调用了我在几乎所有项目中使用的一些函数,如firebaseAuth.onAuthStateChanged(user=>{如果(user.uid)做些什么……问题是,我使用Google/Facebook添加了登录,但它没有firebase的uid(如果我做得对),当使用一些社交midia登录firebase时,可以向该用户注册一些uid,这就是我所做的: case this.GOOGLE:
case this.GOOGLE:
var providerr = new firebase.auth.GoogleAuthProvider();
var result = await firebase.auth().signInWithPopup(providerr);
var user = result.user.providerData;
if(user[0].uid){
let nome = user[0].displayName;
let nome1 = nome.substr(0,nome.indexOf(' '));
let nome2 = nome.substr(nome.indexOf(' ')+1);
let usuario = { nome: "",
sobrenome:"",
email:user[0].email,
telefone:"",
picture:""
}
usuario.nome = nome1?nome1:"";
usuario.sobrenome = nome2?nome2:"";
usuario.picture = user[0].photoURL?user[0].photoURL:"";
usuario.telefone = user[0].phoneNumber?user[0].phoneNumber:"";
firebaseDatabase.ref().child('/profile/' + user[0].uid )
.update(usuario);
return 1;
}
else return -1;
break;
Firebase只存储电子邮件+密码用户列表。它不存储与社交提供商(Facebook、谷歌)签署的用户的任何数据