小编Ros*_*des的帖子

Firebase - 什么是API密钥

在Firebase中,当我们注册时,它会为每个firebase Url提供一个API密钥.但它在消费应用中使用的位置是什么?fireBase API不提供任何提供API密钥的方法.

安全性:什么阻止任何人继续将任何对象写入给定的firebase Url?如何管理授权?

api-key firebase

30
推荐指数
3
解决办法
6万
查看次数

在firebase中部署函数时发现Firebase未找到错误

我试图在firebase中托管一个应用程序,它给我的错误

Error: Error parsing triggers: Cannot find module 'firebase'

Try running "npm install" in your functions directory before deploying.
Run Code Online (Sandbox Code Playgroud)

我已npm install多次执行命令,但没有什么新东西.

在此输入图像描述

请帮忙

node.js firebase google-cloud-functions

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

Android身份验证错误:"GetToken失败,状态代码为:INVALID_AUDIENCE"

关于这个模糊的错误代码已经有几个问题,但没有人为我解决这个问题,所以我会再试一次.首先,这是用于登录的样板代码.

      GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
        .requestEmail()
        .requestServerAuthCode("web app client ID copied from Dev API Console", false)
        .build();


  mGoogleApiClient = new GoogleApiClient.Builder(this).enableAutoManage(this, this).addApi(Auth
        .GOOGLE_SIGN_IN_API, gso).build();

  Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
  startActivityForResult(signInIntent, RC_SIGN_IN);
Run Code Online (Sandbox Code Playgroud)

使用此代码,我得到一个对话框,可以选择适当的用户帐户.好极了!但是,然后我在onActivityResult中获取了一个已取消的代码,因此我检查了logcat并注意了标题中的错误消息.然后我搜索有这个问题的其他人,但是我无法弄清楚我的问题是什么.

那么让我们从其他帖子中查看常见问题.

  • Firebase控制台显示我的应用程序已使用正确的SHA-1和SHA-256指纹进行了注册
  • 发布和调试版本都使用相同的密钥库
  • 在Google API管理器中,我的"OAuth许可屏幕"已配置完毕
  • 我还验证了授权重定向URI的域名
  • 我已经重新下载了Firebase GoogleServices.json文件,只是为了确定
  • 没有包名称问题.实际上,Firebase Analytics在这个应用程序中运行得很好
  • 在Play商店开发控制台中,我的OAuth客户端显示在"设置 - > API访问"中
  • 我的Firebase项目在Play商店开发控制台"关联帐户"设置部分中链接
  • 我已经等了10个小时,只是为了看看Google的后端是否需要时间来设置它

对于可搜索性,在标题中的logcat错误消息之后,我得到以下logcat打印.

你有错误的OAuth2相关配置,请检查.详细错误:INVALID_AUDIENCE

android oauth firebase firebase-authentication google-signin

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

Firestore安全规则:更新时request.resource.data.<prop>会发生什么?

我的团队最近讨论过这个问题,似乎无法确定实际/预期的行为:

如果您有以下安全规则:

match /categories/{document=**} {
    allow update: if request.auth.uid != null
    && request.resource.data.firstName is string
    && request.resource.data.lastName is string;
}
Run Code Online (Sandbox Code Playgroud)

然后使用以下数据从前端到/ categories /创建更新语句:

{
   firstName: 'A valid firstName'
}
Run Code Online (Sandbox Code Playgroud)

那么安全规则应该通过还是失败?

参考文档中,它说

开发人员提供的数据显示在request.resource.data中,这是一个包含字段和值的映射.资源中存在的请求中未提供的字段将添加到request.resource.data

相关问题:

  1. 这是否意味着成功/失败取决于节点中的现有数据?
  2. 如果有人尝试使用安全规则中未指定的数据进行更新,即会发生什么情况 {age: 28}
  3. 验证更新数据的推荐方法是什么?

问题3有更多细节(架构问题) 假设你有这样的模型:

interface Category {
  firstName: string;
  lastName: string;
  age?: int;
  groupId?: string;
}
Run Code Online (Sandbox Code Playgroud)

现在我们创建一个像这样的安全规则:

match /categories/{document=**} {
    allow update: if request.auth.uid != null
    && request.resource.data.firstName is string
    && request.resource.data.lastName is string;
    && request.resource.data.age is int;
    && request.resource.data.groupId is string; …
Run Code Online (Sandbox Code Playgroud)

firebase google-cloud-firestore firebase-security-rules

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

高级分析构建错误

我试图启用"高级配置",在新Android Studio 2.4 preview 2的,但我得到的生成错误的消息日志:

Information:Gradle tasks [:app:assembleRelease]
Error:Execution failed for task ':app:transformClassesWithProfilers-transformForRelease'.
> java.lang.IllegalArgumentException (no error message)
Information:BUILD FAILED
Information:Total time: 2.47 secs
Information:1 error
Information:0 warnings
Information:See complete output in console
Run Code Online (Sandbox Code Playgroud)

我正在尝试在现有项目上执行此操作.当我尝试一个新项目时,它没有问题.有谁知道错误说的是什么或如何解决它?

android android-studio

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

Firestore与Firebase的离线问题

我将我的一个应用程序转换为新的Firestore.我正在做一些事情,比如在点击按钮上保存文档,然后在onSuccess监听器中进行不同的活动.

我还使用Firestore保存操作返回任务的事实,使用以下方法将任务组合在一起Tasks.whenAll:

val allTasks = Tasks.whenAll(
       createSupporter(supporter),,
       setStreetLookup(makeStreetKey(supporter.street_name)),
       updateCircleChartForUser(statusChange, createMode = true), 
       updateStatusCountForUser(statusChange))

      allTasks.addOnSuccessListener(this@SignUpActivity, successListener)
      allTasks.addOnFailureListener(this@SignUpActivity, onFailureListener)
Run Code Online (Sandbox Code Playgroud)

最后,我从成功保存中获取文档ID并将其存储在首选项或本地数据库中供以后使用(在...内onSuccessListener)

一切都很好.直到失去网络连接.然后一切都崩溃了,因为任务永远不会完成,onSuccess/onFailure/onComplete监听器永远不会被调用.所以该应用程序只是挂起.

我通过在每次保存之前检查网络可用性来解决这个问题,然后通过创建没有任何监听器的任务来解决这个问题.我还使用UUID生成器在本地生成文档ID.

这个,BTW,不是应用程序与旧的firebase一起工作的方式.在这种情况下,一切都在离线时运行良好,我看到文件在应用程序上线时同步.

我对Firestore的解决方法似乎是一个可怕的黑客.有没有人想出更好的解决方案?

在没有连接的 情况下,在没有使用cloud firestore脱机调用addOnCompleteListener的情况下,请参阅有关插入/删除文档回调的相关Firestore数据库

android firebase firebase-realtime-database google-cloud-firestore

12
推荐指数
2
解决办法
3132
查看次数

是否可以检查集合或子集合是否存在?

有没有办法检查firejs的firestore中是否存在子集合?

目前我doc.exists用于文档,但我需要检查文档中是否存在子列,以便写入一些数据.

javascript node.js firebase google-cloud-firestore

12
推荐指数
3
解决办法
7547
查看次数

Firebase回收器适配器分页

mFirebaseAdapter = new FirebaseRecyclerAdapter<Restaurant, FirebaseRestaurantViewHolder>
            (Restaurant.class, R.layout.restaurant_list_item, FirebaseRestaurantViewHolder.class, 
                mRestaurantReference)
Run Code Online (Sandbox Code Playgroud)

我喜欢1000个元素/对象mRestaurantReference.如果我使用上面的代码,我肯定会遇到性能问题所以我必须对它进行分页.那么如何使用分页数据FirebaseRecyclerAdapter呢?

java android firebase firebase-realtime-database firebaseui

11
推荐指数
0
解决办法
897
查看次数

如果帐户在Firebase Android初次注册期间已与谷歌相关联,请使用Facebook登录

我正在尝试使用重新安装Android应用程序登录facebook.最初我使用Google注册并成功将其与firebase链接.

但是,当我尝试使用Facebook时,它会给出一个

FirebaseAuthUserCollisionException
Run Code Online (Sandbox Code Playgroud)

我在Firebase文档中读到了您可以这样做的内容

FirebaseUser prevUser = currentUser;
currentUser = auth.signInWithCredential(credential).await().getUser();
// Merge prevUser and currentUser accounts and data
// ...
Run Code Online (Sandbox Code Playgroud)

但这里await()方法不再存在.在搜索了一下后,我发现了这个解决方案

Tasks.await(mAuth.signInWithCredential(credential)).getUser();
Run Code Online (Sandbox Code Playgroud)

但是当获取已经链接的当前用户时,这也会出错.我该怎么做才能解决这个问题?

android facebook firebase firebase-authentication

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

Firebase:创建文档时存储服务器时间戳

当我使用这段代码时:

firestore().collection("item").add({...item, created: firebase.database.ServerValue.TIMESTAMP})
Run Code Online (Sandbox Code Playgroud)

它创建条目{".sv" : "timestamp"}< - 实际单词"timestamp"

firebase google-cloud-firestore

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