AngularFireAuth使用电子邮件创建用户而无需登录

时间:2019-02-02 01:53:22

标签: angular firebase-authentication

我在Firebase中使用了角度应用程序,并且我具有允许管理员用户创建更多用户的功能 这是我在AuthService中使用的代码

registerEmployeeByEmail(user: User, password: string): Observable<void> {
    return from(this.afAuth.auth.createUserWithEmailAndPassword(user.email, password).then(credentials => {

      user.id = credentials.user.uid;
      this.db.doc(this.dbPath + user.id).set(user);    
    }));
  }

问题是刚登录新用户后,该想法不是立即自动登录...

1 个答案:

答案 0 :(得分:0)

理想情况下,您应使用具有管理员权限的Firebase Admin SDK to create users。这还将避免由于来自同一IP地址的太多请求而造成的限制,并防止非管理员用户也使用此门户来创建用户。

但是,如果您绝对需要此命令(我不建议这样做),则只需初始化另一个FirebaseApp实例来创建用户。这样可以将currentUser保留在默认的Auth实例上:

const app2 = firebase.initializeApp(config, 'tempApp');
app2.auth().createUserWithEmailAndPassword(email, password)...