小编Bik*_*ash的帖子

我们何时将FirebaseUser.getToken(Boolean forcerefresh)设置为true?

我的Firebase客户端应用程序与自定义后端服务器通信,因此我需要将ID每个HTTPS请求的令牌发送到我的服务器.从参考,

Should only be set to true if the token is invalidated out of band
Run Code Online (Sandbox Code Playgroud)
  1. 我什么时候应该将forcerefresh布尔值设置为true
  2. forcerefresh在我的自定义服务器的每个HTTPS请求期间获取令牌(使用为false)是否可以.(当它作为任务返回时,我应该将它存储在我的本地缓存中,这样我就不必添加任何任务侦听器并且可以在同一个线程中处理请求)

编辑: 现在谷歌提供新的API,如果它已过期将自动刷新令牌.

getIdToken(forceRefresh) returns firebase.Promise containing string
Run Code Online (Sandbox Code Playgroud)

来自Google文档

如果当前令牌尚未过期,则返回当前令牌,否则将刷新令牌并返回新令牌

android firebase firebase-authentication

13
推荐指数
2
解决办法
2198
查看次数

如何在不使用任务监听器的情况下获取Firebase验证令牌?

我正在使用Retrofit 2,在使用Firebase Auth之前我曾经将我的令牌存储SharedPreferences在我的HttpInterceptor

@Named("rest_api")
@Singleton
@Provides
Interceptor provideRESTInterceptor(final UserManager userManager) {
    return new Interceptor() {
        @Override
        public Response intercept(final Chain chain) throws IOException {
            final Request original = chain.request();

            Request request = original.newBuilder()
                    .header("Accept", "application/json")
                    .header("Authorization", "XXXX " + sharedPreference.getToken())
                    .method(original.method(), original.body())
                    .build();

            Response response = chain.proceed(request);
            return response;
        }
    };
}
Run Code Online (Sandbox Code Playgroud)

我怎么能用这样的东西来实现 FirebaseUser.getToken(false/true)呢?我不知道如何等待侦听器回调,而不是使用firebase令牌处理请求.

我也想在这里检查令牌有效性以及它是否即将到期 getToken(true)

java android firebase firebase-authentication

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

如何避免使用缓存进行不必要的Firestore读取

我有按日期排序的旅行数据(大集合)列表。

现有行为

我将所有行程数据存储到SqlLite Db中。对于添加的每个新数据,我通常会收到fcm通知,并且使用上次更新的时间概念仅同步了添加的新数据。这样,当cx打开应用程序时,他将始终从我的数据库中读取数据,从而节省了读取网络操作。

我如何在Firestore中实现相同目标?

需要考虑的几个问题:

  • Firestore get()始终尝试首先从服务器获取数据,即使我将CACHE添加到查询中,我如何也只能同步已更新的文档
  • 在我的Recyler视图中,我希望按字段日期而不是lut(last-modified-time)对数据进行排序
  • 使用FireStore Snapshot Listener,我无法查询这么大的记录集。

java android firebase firebaseui google-cloud-firestore

3
推荐指数
2
解决办法
3600
查看次数

java 类中多个方法的单个 Catch 块

我有一个带有用于处理 MemCache 请求的静态方法的类,它具有带有不同参数的不同方法。

每当在该类中调用某个方法时,我想增加 TotalRequest 计数器,如果类内的任何方法发生异常,我想增加失败计数器。有什么办法可以做到吗?

如果自然静态有一些问题,请告诉我?而且它应该是一个高效的。

java optimization exception class

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