我是Firebase的新用户。我使用验证电子邮件地址和密码的用户 -认证后读取数据时Firebase权限被拒绝
final Firebase ref = new Firebase("https://app.firebaseio.com");
ref.authWithPassword("[email protected]", "password", new Firebase.AuthResultHandler() {
@Override
public void onAuthenticated(AuthData authData) {
System.out.println("User ID: " + authData.getUid());
getData(ref);
}
@Override
public void onAuthenticationError(FirebaseError firebaseError) {
}
});
但认证后,当我读数据时,我得到Permission Denied
。
private void getData(Query ref) {
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
System.out.println(snapshot.getValue());
}
@Override
public void onCancelled(FirebaseError firebaseError) {
System.out.println("The read failed: " + firebaseError.getMessage());
}
});
}
这些是Firebase规则。
{
"rules": {
"users": {
"$uid": {
".read": "auth !== null && auth.provider === 'password'"
}
}
}
}
的规则级联好一点,谢谢分享更多信息的规则。我还想提及另一个修复使用[相同的火力点sdks](https://stackoverflow.com/questions/38657873/firebase-permission-denied-after-auth),这对我工作。 – raiser00