在我的系统中,我需要从经过身份验证的用户创建用户,但为此我需要通过createUserWithEmailAndPassword
方法创建用户,当我通过此方法创建用户时,身份验证状态将更改为此时创建的用户。
有没有办法从经过身份验证的用户创建用户而不为createUserWithEmailAndPassword
方法创建后创建的用户创建signIn?
我有一个在Angular + Node.js中开发的系统
createUser(user: Usuario): Promise<firebase.auth.UserCredential> {
return this._angularFireAuth.auth.createUserWithEmailAndPassword(user.email, user.password);
}
[回答]
您可以在客户端中创建新的Firebase应用程序上下文,然后再次调用createUserWithEmailAndPassword()。这不会对创建的新用户重新进行身份验证。 Reference。
var authApp = firebase.initializeApp({
// ...
}, 'authApp');
var detachedAuth = authApp.auth();
detachedAuth.createUserWithEmailAndPassword('[email protected]', 'asuperrandompassword');
这样做的潜在问题是:Firebase App named '[DEFAULT]' already exists (app/duplicate-app)。
[其他情景(供其他人参考)]
我猜你是其中一个:
希望能帮助到你!
听起来像管理员功能。见Introduction to the Admin Auth API
User Management
要访问Firebase控制台以管理Firebase用户并不总是很方便。管理员用户管理API提供对这些相同用户的编程访问。它甚至允许您执行Firebase控制台无法执行的操作,例如检索用户的完整数据以及更改用户的密码,电子邮件地址或电话号码。
创建用户后,您需要调用signInWithEmailAndPassword
登录。
signInFirebaseWithEmailAndPassword(
userName: string,
password: string
): Promise<firebase.auth.UserCredential> {
return this._angularFireAuth.auth.signInWithEmailAndPassword(userName, password);
}