【发布时间】:2018-12-15 22:52:56
【问题描述】:
我正在开发一个适用于 Firebase 数据库的 Android 应用。方法是设置应用程序,它不需要任何类型的身份验证,并且只允许用户从数据库中读取。 我想找到一种方法来限制只有使用我的应用程序的人才能访问数据库。 我知道出于安全目的存储“默认”凭据并不是最好的,我也尝试过使用匿名身份验证,但我不确定它是否正常工作(我试图删除身份验证步骤,我总是可以访问数据库来自我的应用程序)。
这里是验证用户的代码:
private void getAuthentication() {
mAuth = FirebaseAuth.getInstance();
mAuth.signInAnonymously().addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
user = mAuth.getCurrentUser();
Toast.makeText(MainActivity.this, "Authenticated!", Toast.LENGTH_SHORT).show();
} else
Toast.makeText(MainActivity.this, "Authentication failed.", Toast.LENGTH_SHORT).show();
}
});
}
Firebase 身份验证规则
{
"rules": {
".read": "auth != null",
".write": "false"
}
}
我在网上阅读了一堆问题,但似乎没有人帮助我:/
有什么想法吗?
【问题讨论】:
-
“我也尝试过使用匿名身份验证,但我不确定它是否正常工作”。你测试过吗?你有错误吗?
-
是的,它有效,我设置规则的方式只允许经过身份验证的用户读取数据,这正是我们想要的。只是我想知道匿名身份验证的安全性,仍然没有找到任何解释。
标签: android firebase firebase-realtime-database firebase-security