angular – Firebase:没有与此标识符对应的用户记录.用户可能已被删除

我正在使用Ionic2 / Angular2与AngularFire2和Firebase在登录时验证我的用户.

我通过电子邮件注册用户&密码成功,我可以使用该电子邮件登录&密码成功.

public fireAuth: firebase.auth.Auth;
...
    loginFirebaseUser(email: string, password: string): firebase.Promise<boolean> {
        return this.fireAuth.signInWithEmailAndPassword(email, password).then(() => {
            console.log('signInWithEmailAndPassword', email, password);
        }).catch((error)=> {
            console.error('Error signInWithEmailAndPassword', email, password, error.name, error.message);
            throw new Error(error.message);
        });
    }

当我更改用户电子邮件时,它会成功更新(我可以在管理控制台中看到更新,并且没有错误).

this.fireAuth.onAuthStateChanged((firebaseUser: firebase.User) => {
    firebaseUser.updateEmail(newEmail).then((data) => {...

然后,我成功验证了新邮件.但是,当我尝试使用新的电子邮件和密码再次登录时,我得到:

06002

总之,如果我不更新电子邮件地址,一切正常.如果我确实更新了电子邮件地址,如果我尝试登录,则会出现上述错误.

最佳答案 当用户更新其电子邮件,密码或重置其密码时. Firebase Auth后端撤销其令牌,要求他们重新进行身份验证或尝试重新登录.这是一项安全功能.例如,如果用户的帐户遭到入侵,用户可能会重置密码.所有其他会话必须重新进行身份验证.

点赞