在 Google App Engine 上验证 Firebase Token



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

在Google App Engine,我使用以下代码来验证Firebase Token。我使用的是 Firebase 管理员 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 后端任务上运行,但不幸的是,此后端实例没有关闭,因此我超出了我的免费配额限制。那么有人可以给我一个提示,说明如何在令牌验证后关闭后端实例吗?

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

不幸的是,在一个单独的问题中,由于错误的依赖项,verifyIdToken()方法在4.1.0版本中被破坏。因此,您必须使用 4.0.4 或>= 4.1.1 .

很抱歉给您带来麻烦!我们将尽快修复verifyIdToken()方法。同时,版本 4.0.4 应该适合您。

更新

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

最新更新