3

我正在 Google App Engine 开发一个应用程序。我正在使用 Cloud Endpoints 在我的 Google App Engine 后端的 Android 应用程序之间进行通信。Android 客户端使用 Firebase 身份验证,并在每次调用时向 Cloud Endpoints 发送 Firebase 令牌。

在 Google App Engine,我使用以下代码来验证 Firebase 令牌。我正在使用 Firebase Admin SDK 4.0.3

Task<FirebaseToken> authTask = FirebaseAuth.getInstance().verifyIdToken(token);

try {
    Tasks.await(authTask);
} catch (ExecutionException | InterruptedException e ) {
    log.severe(e.getMessage());
}
FirebaseToken decodedToken = authTask.getResult();

任务的执行在 Google App Engine 后端任务上运行,但不幸的是,这个后端实例没有关闭,所以我超出了我的免费配额限制。那么有人可以提示我如何在令牌验证后关闭后端实例吗?

4

1 回答 1

1

这是 Firebase Admin Java SDK 的一个已知问题,实际上是我们难以修复的错误。目前唯一的解决方法是使用更新版本的 SDK (>= 4.0.4),它支持在前端实例中使用此方法(处理后完全关闭)。

不幸的是,在一个单独的问题中,由于依赖关系不好,该verifyIdToken()方法在版本中被破坏了。4.1.0因此,您必须使用4.0.4or >= 4.1.1

对不起所有的麻烦!我们将verifyIdToken()尽快修复该方法。同时,版本4.0.4应该适合你。

更新

该方法的第二个较小问题已在 Admin Java SDK 版本 4.1.1 中verifyIdToken()得到修复。

于 2017-01-27T18:47:18.223 回答