Firebase Login - 如何重置 uid



我正在使用Ionic2 rc4和Firebase Authentication。如果我调用signupFirebaseUser(),它会按预期记录uid。但是,当我调用loginGoogle()时,我希望它记录不同的uid,但它打印相同的uid

这意味着用户无法使用email address登录并password、注销,然后使用其 Google 帐户(不同的电子邮件地址)重新登录,因为它希望保留其旧uid

signupFirebaseUser(email: string, password: string): firebase.Promise<any> {
    return this.fireAuth.createUserWithEmailAndPassword(email, password).then((newUser: firebase.User) => {
        console.log(newUser.uid);
        this.userProfile.child(newUser.uid).set({ email: email });
        newUser.sendEmailVerification();
    });
}

然后

public logout(auth: FirebaseAuth, fireAuth: firebase.auth.Auth): Promise<any> {
        return auth.logout().then(() => {
            fireAuth.signOut().then(() => {
            });
        });
}

然后

  loginGoogle() {
    this.auth.login({
      provider: AuthProviders.Google,
      method: AuthMethods.Popup
    }).then((data: FirebaseAuthState) => {
        console.log(data.uid);
    }).catch((error) => {
      console.error('loginGoogle', error);
    });
  }

问题

如何重置火基身份验证以忘记旧uid?这样,当您再次登录时,您将从头开始。

即为每个提供商(谷歌,Facebook,电子邮件)生成一个新的uid

任何帮助表示赞赏。

您很可能可以选择确保每个电子邮件地址只能有一个帐户(如果我没记错的话,这实际上是默认设置)。要更改此选项,请前往 https://console.firebase.google.com/project/_/authentication/providers,选择您的Firebase项目,向下滚动到"高级"部分,然后点击"每个电子邮件地址一个帐户"旁边的"更改"按钮。在那里,您可以设置如何处理同一电子邮件地址的帐户并关闭此行为。

相关内容

  • 没有找到相关文章

最新更新