如何检查angularfire用户是否存在身份验证标识符
我已经查看了许多解决方案,但大多数都与检查auth用户是否登录有关,或者通过使用文档引用来通读和检查用户电子邮件 我想要实现的是运行用户输入,并在身份验证标识符中检查电子邮件地址是否已经存在。 据我所知,auth实际上发出了错误,比如auth/email已经在使用了 这是我现在拥有的,但每次我尝试输入的电子邮件,它都会返回“用户已在使用”的信息如何检查angularfire用户是否存在身份验证标识符,angular,firebase,firebase-authentication,Angular,Firebase,Firebase Authentication,我已经查看了许多解决方案,但大多数都与检查auth用户是否登录有关,或者通过使用文档引用来通读和检查用户电子邮件 我想要实现的是运行用户输入,并在身份验证标识符中检查电子邮件地址是否已经存在。 据我所知,auth实际上发出了错误,比如auth/email已经在使用了 这是我现在拥有的,但每次我尝试输入的电子邮件,它都会返回“用户已在使用”的信息 fetchSignInMethodForEmail(电子邮件)使用结果列表解析(调用then())。它仅在出现错误时(例如当您指定无效的电子邮件地址时)
fetchSignInMethodForEmail(电子邮件)
使用结果列表解析(调用then()
)。它仅在出现错误时(例如当您指定无效的电子邮件地址时)才会拒绝(调用catch
)
因此,您必须检查传入then()
的登录方法数组是否为空:
firebase.auth().fetchSignInMethodsForEmail(email)
.then(function(signInMethods) {
if (signInMethods.length > 0) {
...
}
})
另请参阅。当您使用firebase auth中不存在的电子邮件时,是否尝试检查您的
用户是否为空?如果没有现有电子邮件,用户将返回[]
数组;如果有用户,用户将返回[“密码”]
firebase.auth().fetchSignInMethodsForEmail(email)
.then(function(signInMethods) {
if (signInMethods.length > 0) {
...
}
})