Firebase android用户身份验证
我正在为我的android应用程序使用firebase。我正在使用firebase身份验证,使用电子邮件和密码,但我需要保存用户的学生id以及电子邮件和密码,我希望在其上保持唯一性检查。我尝试通过先保存电子邮件和pass来添加额外的信息学生ID,然后我得到了它的uid,并使用相同的uid将国家ID保存在数据库中,但问题是我想检查国家ID是否唯一Firebase android用户身份验证,android,firebase,firebase-authentication,Android,Firebase,Firebase Authentication,我正在为我的android应用程序使用firebase。我正在使用firebase身份验证,使用电子邮件和密码,但我需要保存用户的学生id以及电子邮件和密码,我希望在其上保持唯一性检查。我尝试通过先保存电子邮件和pass来添加额外的信息学生ID,然后我得到了它的uid,并使用相同的uid将国家ID保存在数据库中,但问题是我想检查国家ID是否唯一 firebaseDatabase= database.getReference("USERS"); mAuth.createUser
firebaseDatabase= database.getReference("USERS");
mAuth.createUserWithEmailAndPassword(email, password)
.addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
String userId = mAuth.getCurrentUser().getUid();
DatabaseReference dr = firebaseDatabase.child(userId);
dr.child("studentID").setValue(sID);
pr.dismiss();
Intent intent = new Intent(MainActivity.this, home.class);
startActivity(intent);
} else if (task.getException() instanceof FirebaseAuthUserCollisionException) {
Toast.makeText(MainActivity.this, "Already Registered!", Toast.LENGTH_LONG).show();
pr.dismiss();
} else {
Toast.makeText(MainActivity.this, "Connection Problem", Toast.LENGTH_LONG).show();
pr.dismiss();
}
}
});
firebaseDatabase=database.getReference(“用户”);
mAuth.createUserWithEmailAndPassword(电子邮件,密码)
.addOnCompleteListener(新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
字符串userId=mAuth.getCurrentUser().getUid();
DatabaseReference dr=firebaseDatabase.child(userId);
child博士(“学生ID”)。设定值(sID);
pr.解雇();
意向意向=新意向(MainActivity.this,home.class);
星触觉(意向);
}else if(task.getException()实例为FirebaseAuthUserCollisionException){
Toast.makeText(MainActivity.this,“已注册!”,Toast.LENGTH_LONG.show();
pr.解雇();
}否则{
Toast.makeText(MainActivity.this,“连接问题”,Toast.LENGTH_LONG.show();
pr.解雇();
}
}
});
在保存额外信息之前,您必须读取数据库并找到国家id,如果firebase返回值,则该id存在,否则,您可以在数据库中创建一个名为您的ID的节点。需要保存用户的国家ID以及电子邮件和密码
请确保您对涉及的安全问题有一个有效的了解-理想情况下,密码不会进入网络或永久存储。我已经编辑了这种情况。您现在可以告诉我怎么做吗