首页 文章

在Google App Engine上验证Firebase令牌

提问于
浏览
2

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

在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后端任务中运行,但不幸的是,此后端实例未关闭,因此我超出了我的免费配额限制 . 那么有人可以给我一个提示如何在令牌验证后关闭后端实例吗?

1 回答

  • 0

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

    不幸的是,在另一个问题中, verifyIdToken() 方法由于依赖性差而在 4.1.0 版本中被破坏 . 因此,您必须使用 4.0.4 或> = 4.1.1 .

    抱歉所有的麻烦!我们将尽快修复 verifyIdToken() 方法 . 在此期间,版本 4.0.4 应该适合您 .

    Update

    verifyIdToken() 方法的第二个较小问题在version 4.1.1 of the Admin Java SDK中得到修复 .

相关问题