有没有办法阅读有uid的用户电子邮件? (仅限超级用户或服务器使用)
Ps。:我不想保存在实时数据库中,因为即使只有当前用户可以更改它,他也可以删除或放一些假电子邮件..
我正在尝试使用Firebase v3中的GoogleAuthProvider检索用户电子邮件
这就是我正在使用的代码:
signInWithGoogle(): Promise<any> {
let provider = new firebase.auth.GoogleAuthProvider();
provider.addScope("https://www.googleapis.com/auth/userinfo.email");
return firebase.auth().signInWithPopup(provider)
.then((result) => {
console.log(result.user.email);
console.log(result.credential);
let token = result.credential.accessToken;
return this.createOrUpdateUser(result.user, token);
});
}
结果:
result.user.email # null
result.user.providerData[0].email # correct_email@gmail.com
即使电子邮件在providerData中,它也没有附加到auth .. 它是一个firebase错误还是我能以某种方式修复它?
谢谢!
答案 0 :(得分:0)
昨天推出的3.2.0 web sdk应该在google提供商的signInWithPopup时自动询问配置文件范围。尝试删除测试用户并再次登录。应填充顶级电子邮件。