【问题标题】:Firebase v3 GoogleAuthProvider not saving emailFirebase v3 GoogleAuthProvider 不保存电子邮件
【发布时间】:2016-11-14 15:08:47
【问题描述】:

(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

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

谢谢!

【问题讨论】:

标签: firebase firebase-authentication


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-03
    • 1970-01-01
    • 2022-11-20
    • 2017-10-15
    • 1970-01-01
    相关资源
    最近更新 更多