ionic3+firebase+angularfire2 facebook 电子邮件为空,每个电子邮件地址有多个帐户
ionic3+firebase+angularfire2 facebook email null with Multiple accounts per email address
在我的 firebase 仪表板中,我为一个电子邮件选项设置了多个帐户。
firebase dashboard
Angularfire2的配置是标准的所以我没有打app.modules.ts的代码
home.ts
facebookir(){
let goPagePrehome:boolean = false;
let userDB:any;
firebase.auth().signInWithPopup(new firebase.auth.FacebookAuthProvider())
.then(res => {
console.log(res);
console.info(JSON.stringify(res));
this.userService.getUsers()
.forEach((users) => {
users.forEach((user) =>{
if(user['user_email'] == res.additionalUserInfo.profile.email){
// console.log('res.additionalUserInfo.profile.email');
// console.log(user);
userDB = user;
goPagePrehome= true;
}
});
if(goPagePrehome){
this.goNextPagePrehome(userDB);
}else{
this.singup();
}
});
}); }
在前面的代码中,用户的电子邮件是在我们的数据库中创建和验证的。并发送到记录“this.singup();”或者到家“this.goNextPagePrehome (userDB);”
sign.ts
this.afAuth.authState.subscribe( user => {
console.log('find user facebook 2');
console.log(user);
if (user){
if(user.providerData["0"].providerId == "facebook.com"){
if(this.userData['picture'] == '' || this.userData['picture'] == undefined || this.userData['picture']== null){
console.info('find user facebook 2 - si');
this.userData['name']=this.userData['username']= user.providerData["0"].displayName;
this.userData['email']= user.providerData["0"].email;
this.userData['picture']= user.providerData["0"].photoURL;
console.log(this.userData);
}
}
//this.envioCorreoFacebook();
} else {
console.info('find user facebook 2 - no');
}
});
如您在两个文件中所见,我正在验证邮件中提供商提供的数据为“providerData [”0“]”和“res.additionalUserInfo.profile.email”。
Firebase 响应是:
firebase images
我需要你的帮助来解决一些 facebook 帐户与 firebase 一起工作的问题。?
我又收到邮件了;虽然默认情况下它应该将它带到所有 facebook 帐户。
var provider = new firebase.auth.FacebookAuthProvider();
provider.addScope('email');
firebase.auth().signInWithPopup(provider)
.then(res => {...});
在我的 firebase 仪表板中,我为一个电子邮件选项设置了多个帐户。
firebase dashboard
Angularfire2的配置是标准的所以我没有打app.modules.ts的代码
home.ts
facebookir(){
let goPagePrehome:boolean = false;
let userDB:any;
firebase.auth().signInWithPopup(new firebase.auth.FacebookAuthProvider())
.then(res => {
console.log(res);
console.info(JSON.stringify(res));
this.userService.getUsers()
.forEach((users) => {
users.forEach((user) =>{
if(user['user_email'] == res.additionalUserInfo.profile.email){
// console.log('res.additionalUserInfo.profile.email');
// console.log(user);
userDB = user;
goPagePrehome= true;
}
});
if(goPagePrehome){
this.goNextPagePrehome(userDB);
}else{
this.singup();
}
});
}); }
在前面的代码中,用户的电子邮件是在我们的数据库中创建和验证的。并发送到记录“this.singup();”或者到家“this.goNextPagePrehome (userDB);”
sign.ts
this.afAuth.authState.subscribe( user => {
console.log('find user facebook 2');
console.log(user);
if (user){
if(user.providerData["0"].providerId == "facebook.com"){
if(this.userData['picture'] == '' || this.userData['picture'] == undefined || this.userData['picture']== null){
console.info('find user facebook 2 - si');
this.userData['name']=this.userData['username']= user.providerData["0"].displayName;
this.userData['email']= user.providerData["0"].email;
this.userData['picture']= user.providerData["0"].photoURL;
console.log(this.userData);
}
}
//this.envioCorreoFacebook();
} else {
console.info('find user facebook 2 - no');
}
});
如您在两个文件中所见,我正在验证邮件中提供商提供的数据为“providerData [”0“]”和“res.additionalUserInfo.profile.email”。
Firebase 响应是:
firebase images
我需要你的帮助来解决一些 facebook 帐户与 firebase 一起工作的问题。?
我又收到邮件了;虽然默认情况下它应该将它带到所有 facebook 帐户。
var provider = new firebase.auth.FacebookAuthProvider();
provider.addScope('email');
firebase.auth().signInWithPopup(provider)
.then(res => {...});