Firebase v3 GoogleAuthProvider未保存电子邮件

时间:2016-07-12 11:36:04

标签: firebase firebase-authentication

(1)问题:

有没有办法阅读有uid的用户电子邮件? (仅限超级用户或服务器使用)

Ps。:我不想保存在实时数据库中,因为即使只有当前用户可以更改它,他也可以删除或放一些假电子邮件..

(2)问题:

我正在尝试使用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

Firebase auth dashboard 即使电子邮件在providerData中,它也没有附加到auth .. 它是一个firebase错误还是我能以某种方式修复它?

谢谢!

1 个答案:

答案 0 :(得分:0)

昨天推出的3.2.0 web sdk应该在google提供商的signInWithPopup时自动询问配置文件范围。尝试删除测试用户并再次登录。应填充顶级电子邮件。