所以这是一个非常直接的问题。我有一个应用程序,我想有N个最大的用户数量。最初,我计划使用类似这样的东西:
mFirestore.collection("Users").get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if(task.isSuccessful()){
for(DocumentSnapshot documentSnapshot:task.getResult()){
numUsers++;
}
}
}
});然后在注册时,只需在创建新用户之前检查该数字是否小于或等于N。
但是,由于我尚未登录,因此无法通过对Users集合中的文档进行计数来访问用户计数。有没有其他方法可以做到这一点?
发布于 2019-10-13 09:09:28
你现在写的东西可以被恶意用户绕过。不能信任客户端上的代码能够正确执行。
要安全地执行此操作,唯一的方法是编写一个统计用户创建帐户次数的Cloud Functions authentication trigger。如果超出限制,它可以使用刚刚创建的超出限制的Firebase Admin SDK to delete the account。
https://stackoverflow.com/questions/58359637
复制相似问题