小编Pet*_*ter的帖子

应用程序中的 Firestore 查询授予权限被拒绝,而模拟器工作正常

在我基于 Firestore 的应用程序中,我使用以下查询来检索一些数据:

FirebaseFirestore.getInstance().collection("events").document( eventId ).collection("instances").get().addOnCompleteListener( .... )
Run Code Online (Sandbox Code Playgroud)

这给出了一个权限被拒绝的堆栈跟踪:FirebaseFirestoreException: PERMISSION_DENIED: Missing or insufficient permissions.

我的规则的相关部分如下:

match /events/{eventId} {

      allow create: if isCurrentUser( request.resource.data.owner );
      allow read: if isOwner(eventId) || isAnAdmin( eventId );
      allow update: if isOwner( eventId ) || isAtLeastEventAdmin( eventId );
      allow delete: if isOwner( eventId ); 

      match /instances/{instanceId} {
        allow read: if isOwner(eventId) || isAnAdmin( eventId );
        allow write: if isOwner( eventId ) || isAtLeastInstanceAdmin( eventId );
      }
    } 
Run Code Online (Sandbox Code Playgroud)

在控制台模拟器中,对某个实例的查询工作正常,但是一旦我对“实例”集合启动查询,我就会遇到这个问题(这是我无法在模拟器中模拟的)。请注意,isOwner( eventId )在这种情况下返回 true。

如何为实例启用查询?在我看来,“读取”权限应该足以允许查询吗?

firebase firebase-security google-cloud-firestore

4
推荐指数
1
解决办法
1720
查看次数

Firebase-UI库的Proguard配置

在创建启用了proguard的APK时,使用Firebase-UI库(com.firebaseui:firebase-ui:0.3.0)中的FirebaseRecyclerAdapter时会引发以下异常:

java.lang.RuntimeException: java.lang.NoSuchMethodException: <init> [class android.view.View]
                                                                              at com.firebase.ui.FirebaseRecyclerAdapter.onCreateViewHolder(FirebaseRecyclerAdapter.java:168)
Run Code Online (Sandbox Code Playgroud)

调试版本(没有proguard)工作正常.谁有Firebase-UI的工作程序配置?

我当前的proguard配置看起来像这样(只有Firebase相关部分):

-optimizationpasses 5
-keepattributes SourceFile,LineNumberTable,Exceptions, Signature, InnerClasses,*Annotation*

-keepnames class ** { *; }

-keep class com.firebase.** { *; }
-keepnames class com.fasterxml.jackson.** { *; }
-keepnames class javax.servlet.** { *; }
-keepnames class org.ietf.jgss.** { *; }
Run Code Online (Sandbox Code Playgroud)

android firebase firebase-realtime-database android-proguard firebaseui

3
推荐指数
1
解决办法
1822
查看次数

元数据中的 EnableSafeBrowsing 的 Lint 警告“此处不允许使用元素元数据”

我已在清单文件中添加了 EnableSafeBrowsing。这基于此处提供的信息: https: //android-developers.googleblog.com/2017/06/whats-new-in-webview-security.html

当我在我的应用程序上运行 Lint 分析时,我在此 Manifest 语句中收到以下警告:(Element meta-data is not allowed here此检查突出显示 Android 资源文件和 AndroidManifest.xml 中不允许的 XML 标记)

<meta-data
        android:name="android.webkit.WebView.EnableSafeBrowsing"
        android:value="true" />
Run Code Online (Sandbox Code Playgroud)

此时我正在压制这个警告(<!--suppress AndroidElementNotAllowed --> )。有没有关于 Lint 是否或何时不再将其视为警告的消息?

在清单中的位置:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.xxxxx.xxxxxx">

    <!--suppress AndroidElementNotAllowed -->
    <meta-data
        android:name="android.webkit.WebView.EnableSafeBrowsing"
        android:value="true" /> 
Run Code Online (Sandbox Code Playgroud)

android lint android-manifest

1
推荐指数
1
解决办法
2381
查看次数

找不到com.google.firebase:firebase-invites:15.0.2

我正在尝试更新到Firebase产品的15.x API版本.以某种方式firebase-invites:15.0.2无法找到:

Could not find com.google.firebase:firebase-invites:15.0.2.
Searched in the following locations:
    file:/D:/SDK/extras/m2repository/com/google/firebase/firebase-invites/15.0.2/firebase-invites-15.0.2.pom
    file:/D:/SDK/extras/m2repository/com/google/firebase/firebase-invites/15.0.2/firebase-invites-15.0.2.jar
    file:/D:/SDK/extras/google/m2repository/com/google/firebase/firebase-invites/15.0.2/firebase-invites-15.0.2.pom
    file:/D:/SDK/extras/google/m2repository/com/google/firebase/firebase-invites/15.0.2/firebase-invites-15.0.2.jar
    file:/D:/SDK/extras/android/m2repository/com/google/firebase/firebase-invites/15.0.2/firebase-invites-15.0.2.pom
    file:/D:/SDK/extras/android/m2repository/com/google/firebase/firebase-invites/15.0.2/firebase-invites-15.0.2.jar
    https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-invites/15.0.2/firebase-invites-15.0.2.pom
    https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-invites/15.0.2/firebase-invites-15.0.2.jar
    https://jcenter.bintray.com/com/google/firebase/firebase-invites/15.0.2/firebase-invites-15.0.2.pom
    https://jcenter.bintray.com/com/google/firebase/firebase-invites/15.0.2/firebase-invites-15.0.2.jar
    https://jitpack.io/com/google/firebase/firebase-invites/15.0.2/firebase-invites-15.0.2.pom
    https://jitpack.io/com/google/firebase/firebase-invites/15.0.2/firebase-invites-15.0.2.jar
    https://maven.fabric.io/public/com/google/firebase/firebase-invites/15.0.2/firebase-invites-15.0.2.pom
    https://maven.fabric.io/public/com/google/firebase/firebase-invites/15.0.2/firebase-invites-15.0.2.jar
Required by:
    project :app 
Run Code Online (Sandbox Code Playgroud)

我在root build.gradle中有Google maven存储库:

firebase build.gradle firebase-invites

0
推荐指数
1
解决办法
7284
查看次数