Firebase:数据库身份验证错误

时间:2017-07-20 06:59:59

标签: android firebase firebase-realtime-database firebase-authentication

我已经将我的Android应用配置为登录到firebase,它没有任何问题。 我已创建登录活动,成功登录后,我将继续进行新活动。 稍后在我的一个AsyncTask中,我查询数据库 我已更改权限规则,因此只有身份验证用户才能读/写... 但即使在成功登录后,我仍然被拒绝了。

我是否需要将UID放在查询中的某个位置?

以下是我的一个问题:

Query personFaceSizeHeightQueryEndAt = myRef.orderByChild("mCalculateFaceSizeHeight")
                .endAt(faceDetails.getmCalculateFaceSizeHeight())
                .limitToLast(1);
        personFaceSizeHeightQueryEndAt.addChildEventListener(new ChildEventListener() {
            @Override
            public void onChildAdded(DataSnapshot dataSnapshot, String s) {
                if (dataSnapshot.exists()) {
                    String personName = dataSnapshot.getKey();
                    Log.d(TAG, "personFaceSizeHeightQueryEndAt:onChildAdded:" + personName);
                    if( checkIfPersonAlreadyFoundInQueryFaceSizeHeight(personName) == false){
                        Person person  = dataSnapshot.getValue(Person.class);
                        checkNumberOfMatchesAndWriteToTheDisk(personName,person);
                    }
                }
            }

            @Override
            public void onChildChanged(DataSnapshot dataSnapshot, String s) {
                if(dataSnapshot.exists()) {
                    Log.d(TAG, "personFaceSizeHeightQueryEndAt:onChildChanged:" + dataSnapshot.getKey());

                }
            }

            @Override
            public void onChildRemoved(DataSnapshot dataSnapshot) {
                if(dataSnapshot.exists()) {
                    Log.d(TAG, "personFaceSizeHeightQueryEndAt:onChildRemoved:" + dataSnapshot.getKey());
                }
            }

            @Override
            public void onChildMoved(DataSnapshot dataSnapshot, String s) {
                if(dataSnapshot.exists()) {
                    Log.d(TAG, "personFaceSizeHeightQueryEndAt:onChildMoved:" + dataSnapshot.getKey());
                }

            }

            @Override
            public void onCancelled(DatabaseError databaseError) {
                Log.d(TAG, "personFaceSizeHeightQueryEndAt:DatabaseError:" + databaseError.getMessage());

            }
        });
    }

以下是登录成功后登录活动的消息

07-20 06:39:31.050 4806-4806/com.example.erang.facerecognition D/EmailPassword: signInWithEmail:success

以下是我的数据库规则:

{
  "rules": {
      "People": {
        "users": {
      "$uid": {
        ".read": "auth.uid === $uid",
        ".write": "auth.uid === $uid"
      }
    Later there are the indexes ... 

1 个答案:

答案 0 :(得分:0)

关闭模拟器并再次运行。