我希望能够通过我的管理员帐户创建用户。所以当我使用这一行时:
this.af.auth.createUser({email: email, password: password});
它创建了用户,但随后它将我作为他们登录,我不想这样做。我只是想创造它。有人知道吗?
答案 0 :(得分:0)
没有AngularFire 2方式以编程方式管理用户。问题是即使您使用Firebase Admin SDK,至少有一个模块的依赖项根本不会在浏览器中运行;例如,webpack。
因此,您可以使用npm install --save firebase-admin
安装Firebase管理模块,然后安装......
import * as admin from "firebase-admin";
adminCreateUser() {
admin.auth().createUser({
email: "user@example.com",
emailVerified: false,
password: "secretPassword",
displayName: "John Doe",
photoURL: "http://www.example.com/12345678/photo.png",
disabled: false
})
.then(function(userRecord) {
// See the UserRecord reference doc for the contents of userRecord.
console.log("Successfully created new user:", userRecord.uid);
})
.catch(function(error) {
console.log("Error creating new user:", error);
});
}
...可能会抛出错误Error: Can't resolve 'dns' in '.../node_modules/isemail/lib'
。解释原因here。
你可能会为此找出某种方法,但是这个特殊问题引发了对这种用户创建方法的一个重要反对意见,这与客户端密码学有关。
改为在后端服务上运行Firebase Admin SDK。