Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 阻止用户在向firebase注册后自动登录_Angularjs_Firebase_Firebase Authentication - Fatal编程技术网

Angularjs 阻止用户在向firebase注册后自动登录

Angularjs 阻止用户在向firebase注册后自动登录,angularjs,firebase,firebase-authentication,Angularjs,Firebase,Firebase Authentication,我使用的是firebase 3.0.5 我希望会员能够通过其帐户注册其他会员。有没有办法防止firebase在使用createUserWithEmailAndPassword时自动为新注册者签名 我相信我可以找到另一种方法来做这件事,但不自动登录它们会让事情对我来说简单得多 编辑: 当新成员通过现有成员注册时,将创建一个随机密码并通过电子邮件发送给新成员。现有成员永远不知道新成员的密码。使用createUser而不是createUserWithEmailAndPassword 如本文所述:

我使用的是firebase 3.0.5

我希望会员能够通过其帐户注册其他会员。有没有办法防止firebase在使用createUserWithEmailAndPassword时自动为新注册者签名

我相信我可以找到另一种方法来做这件事,但不自动登录它们会让事情对我来说简单得多

编辑:
当新成员通过现有成员注册时,将创建一个随机密码并通过电子邮件发送给新成员。现有成员永远不知道新成员的密码。

使用
createUser
而不是
createUserWithEmailAndPassword

如本文所述:

使用提供的凭据创建新的电子邮件/密码用户。 此方法不会对用户进行身份验证。帐户被删除后 创建时,可以使用authWithPassword()对用户进行身份验证

var ref=新Firebase(“https://.firebaseio.com");
ref.createUser({
电子邮件:“bobtony@firebase.com",
密码:“correcthorsebatterystaple”
},函数(错误,用户数据){
如果(错误){
开关(错误代码){
案例“接收电子邮件”:
log(“无法创建新用户帐户,因为电子邮件已在使用。”);
打破
案例“无效的电子邮件”:
log(“指定的电子邮件不是有效的电子邮件。”);
打破
违约:
日志(“创建用户时出错:”,错误);
}
}否则{
log(“已成功创建uid为:,userData.uid的用户帐户”);
}
});

我忘了提到它是firebase 3.0.5哦,我明白他们为什么删除了这个选项。。让别人为你创建密码是不好的做法。。这将使管理员提供一封发送密码重置电子邮件的电子邮件更具逻辑性。。但我似乎找不到任何选项。当成员创建帐户时,我将随机生成密码并通过电子邮件发送给新成员,这样现有成员将永远不会知道密码。我猜另一种方法是创建一个包含现有成员和新成员的节点,并在新会员注册时进行检查,以便现有会员获得信用。我重复一遍,不要通过电子邮件发送密码。这是一种非常糟糕的做法。查看以获取更多信息。正如我所说,您希望创建一个具有未知临时密码的用户,并向用户发送重置密码链接,以便用户可以选择自己的密码。
var ref = new Firebase("https://<YOUR-FIREBASE-APP>.firebaseio.com");
ref.createUser({
  email: "bobtony@firebase.com",
  password: "correcthorsebatterystaple"
}, function(error, userData) {
  if (error) {
    switch (error.code) {
      case "EMAIL_TAKEN":
        console.log("The new user account cannot be created because the email is already in use.");
        break;
      case "INVALID_EMAIL":
        console.log("The specified email is not a valid email.");
        break;
      default:
        console.log("Error creating user:", error);
    }
  } else {
    console.log("Successfully created user account with uid:", userData.uid);
  }
});