AngularFireAuth使用电子邮件创建用户,而无需登录
我使用firebase的angular应用程序,我有允许管理员用户创建更多用户的功能 这是我在AuthService中使用的代码AngularFireAuth使用电子邮件创建用户,而无需登录,angular,firebase-authentication,Angular,Firebase Authentication,我使用firebase的angular应用程序,我有允许管理员用户创建更多用户的功能 这是我在AuthService中使用的代码 registerEmployeeByEmail(user: User, password: string): Observable<void> { return from(this.afAuth.auth.createUserWithEmailAndPassword(user.email, password).then(credentials =&
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);
}));
}
registerEmployeeByEmail(用户:用户,密码:字符串):可观察{
从返回(this.afAuth.auth.createUserWithEmailAndPassword(user.email,password)。然后返回(凭据=>{
user.id=credentials.user.uid;
this.db.doc(this.dbPath+user.id).set(user);
}));
}
问题是,在新用户登录之后,我们的想法是不要让他自动登录…理想情况下,您应该使用具有管理员权限的。这还将避免由于来自同一IP地址的请求过多而导致的任何限制,并防止非管理员用户也使用此门户创建用户 但是,如果您确实需要它(我不推荐),您只需初始化另一个FirebaseApp实例来创建用户。这将使currentUser保持在默认身份验证实例上:
const app2 = firebase.initializeApp(config, 'tempApp');
app2.auth().createUserWithEmailAndPassword(email, password)...
我需要显式关闭app2吗?当您使用完
app2
后,注销最后一个当前用户并删除app2
FirebaseApp实例。我仍然不清楚如何初始化,在启动时,我在我的app.module.ts文件AngularFireModule.initializeApp(environment.firebaseConfig)中使用以下代码但在服务内部,我无法使用此代码。代码段中firebase变量的类型是什么?