我正在使用Firebase Authentication with Email and Password
我想知道我是否可以通过电子邮件“查找”用户,而不是以用户身份登录
我想这样做的原因是,仅仅使用电子邮件地址确定我是否已经是系统用户
我查看了this older thread,但它似乎是以前版本的Firebase
是否可以在当前的Firebase中执行此操作,或者我的替代方法是保持此信息可用(并向所有人开放?)以查明给定的电子邮件是否属于我的系统?
答案 0 :(得分:13)
我使用fetchProvidersForEmail(电子邮件) 如果结果返回为空数组,则此电子邮件尚未用于注册。
firebase.auth().fetchProvidersForEmail(email)
.then(providers => {
if (providers.length === 0) {
// this email hasn't signed up yet
} else {
// has signed up
}
});

答案 1 :(得分:3)
使用电子邮件密码创建用户的新方法会返回一个值,无论给定的电子邮件地址是否已被使用。见here
答案 2 :(得分:2)
您可以通过电子邮件查找用户信息:
firebase.auth().getUserByEmail(email)
.then(function(userRecord) {
// See the UserRecord reference doc for the contents of userRecord.
console.log('Successfully fetched user data:', userRecord.toJSON());
})
.catch(function(error) {
console.log('Error fetching user data:', error);
});