Firebase uid返回电子邮件而不是uid

时间:2016-07-07 22:00:23

标签: javascript firebase firebase-authentication

每当我尝试拉出用户的uid时,它就会给我发送电子邮件。有谁知道为什么?

    var user = firebase.auth().currentUser;

    if (user != null) {
        user.providerData.forEach(function (profile) {
        uid = profile.uid;
        email = profile.email;
        console.log(uid);
        console.log(email);
    });
    }

控制台中的uid:blah@test.com

控制台中的电子邮件:blah@test.com

1 个答案:

答案 0 :(得分:3)

由于您正在查看providerData,它将为提供商提供uid。因此,如果通过电子邮件进行身份验证,那将是电子邮件,如果是Facebook,它将是Facebook ID,Twitter ID ...

如果您需要firebase uid,可以使用firebase.auth().currentUser.uid

var user = firebase.auth().currentUser;
if (user) {
    uid = user.uid;
    console.log(uid);
    user.providerData.forEach(function (provider) {
        providerUid = provider.uid;
        email = provider.email;
        console.log(providerUid);
        console.log(email);
    });
}