我在iOS React Native应用上使用Firebase 3.4.1。我使用匿名身份验证来确保用户只能读/写他们自己的数据(即安全规则检查auth && auth.uid
)。
首次运行时,我拨打firebase.auth().signInAnonymously()
,然后在后续应用打开时,我设置了监听器
firebase.auth().onAuthStateChanged(user => {
if (user) {
// success
} else {
// something is wrong
}
}, (err) => {
// log error
});
我注意到有几个用户点击上面的something is wrong
分支,其中auth更改时返回的user
对象为空。我怀疑这可能是对Firebase的一些间歇性失败,但似乎有人遇到这个错误,它是永久性的。
为了使用我自己的已授予匿名身份验证的用户帐户进行复制,我从Firebase信息中心禁用了身份验证凭据,这会阻止我重新进行身份验证。当我尝试reauth时,我也按预期击中了上面的something is wrong
分支(令人惊讶的是,没有调用错误函数)。但是,在我将凭据重新设置为在仪表板上启用后,我无法再成功地重新执行并在auth更改时继续接收空user
对象。
一旦失败,有没有办法让reauth失败?