从Play商店更新android应用后,Firebase Permisson被拒绝

时间:2018-09-27 15:37:15

标签: android firebase firebase-authentication google-cloud-firestore firebase-security-rules

我开发了一个使用Firebase电话身份验证和Cloud Firestore数据库的应用程序,并将其发布在Play商店中。我的问题是,当我从Play商店更新应用程序时,出现了这样的异常(用户已经成功登录了我的应用程序)。

  

“ com.google.android.gms.tasks.RuntimeExecutionException:com.google.firebase.firestore.FirebaseFirestoreException:PERMISSION_DENIED:缺少权限或权限不足。”

在调试应用程序时,我也多次遇到此异常。如何解决这个问题?

这是我的Firebase规则:

service cloud.firestore {
    match /databases/{database}/documents {
    match /{document=**} {
        allow read, write: if request.auth != null;
        }
    }
}

1 个答案:

答案 0 :(得分:0)

  

我遇到了这样的异常(用户已成功登录我的应用程序)

这是因为您的用户已通过身份验证。为避免出现此类消息,只需使用以下代码行对用户进行身份验证:

FirebaseAuth.getInstance().signOut();
  

在调试应用程序时,我也多次遇到此异常:

     

“ com.google.android.gms.tasks.RuntimeExecutionException:com.google.firebase.firestore.FirebaseFirestoreException:PERMISSION_DENIED:缺少权限或权限不足。”

这是因为您没有设置正确的权限才能将数据写入Cloud Firestore。要解决此问题,请更改以下代码行:

allow read, write: if request.auth != null;

allow read, write: if request.auth.uid != null;

但是,如果要允许多个用户将数据写入数据库,或者只想运行一些测试,请使用以下代码行:

allow read, write: if true;