如何解决注册Firebase Android应用程序:设置限制注册的最佳方法?
我打算在注册期间设置限制。一个人只有在拥有将提供给他们的代码ID的情况下才能进行注册...该应用程序可以为许多人注册,只要每个人都有唯一的代码ID。一个用户的一个代码ID。
注册表格
全名:
电子邮件:
CodeId:
密码:
确认密码:
注册后,数据将存储在firebase中。
登录表单
电子邮件: 密码:
如何在注册过程之前从实时数据库firebase中检索唯一的CodeId并对其进行访问?为了获取安全数据,必须进行身份验证。
解决方法
好吧,可以说您的数据库json看起来像这样。
-user
-userUid
-username
-userUid
-userUid2
-username
-userUid2
-codeId = .....
注册时(单击按钮)
让我们在检查验证后拥有onClickListener按钮。电子邮件验证等。
databaseReference.child("codeId").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
//Check the codeId exist
if (dataSnapshot.exists()) {
//get the value
final String codeId = dataSnapshot.getValue(String.class);
if(codeId != null){
//validate here...
}
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
,
如果您使用的是Firebase Db,则无需输入CodeId:因为默认情况下,Firebase能够针对每次注册生成随机的唯一用户ID。成功注册后,您可以使用以下代码行获取用户ID。
FirebaseAuth auth = FirebaseAuth.getInstance();
FirebaseAuth.AuthStateListener authListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser firebaseUser = firebaseAuth.getCurrentUser();
if (firebaseUser != null) {
String userId = firebaseUser.getUid();
String userEmail = firebaseUser.getEmail();
}
}
};
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。