当前位置: 首页 > 面试题库 >

在Google App Engine上验证Firebase令牌

郗阳德
2023-03-14
问题内容

我正在Google App Engine上开发应用程序。我在Google App Engine的后端使用Cloud Endpoints进行Android
App之间的通信。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后端任务上运行,但是很遗憾,此后端实例没有关闭,因此我超出了我的免费配额限制。因此,有人可以给我一个提示,以便在验证令牌后如何关闭后端实例吗?


问题答案:

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

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

对不起,所有的麻烦!我们将verifyIdToken()尽快获得固定的方法。同时,版本4.0.4应该适合您。

更新资料

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



 类似资料:
  • 是否有一种方法可以在我的服务器上验证Firebase注册令牌,而无需往返Firebase服务器?我只是想知道它们是否有效,不一定是有效的。

  • 我使用电话身份验证在react native应用程序中使用这个文档,我在一些不同的设备中测试了它。有时电话可以工作,但有时会抛出此错误 firebase phone身份验证错误:无效令牌。在nativeToJSError 我已经浏览了firebase的文档,并试图理解这个错误。下面是我的代码片段:

  • 使用库"firebase_id_token"验证ruby on rails中的Firebase id令牌。 一旦我用google_sign_in库从前端获得有效令牌并发送到后端,它总是提示“JWT::VerificationError(签名验证引发)”。尽管我已经检查了jwt.io,在那里我可以看到有效载荷和报头的信息,但无法验证签名。 firebase_id_token.rb 另外,我检查了密钥

  • 我已经正确地实现了Firebase电子邮件和Google登录,它在iOS和Android上都运行良好。然后我试着实现通过电话的身份验证,首先它在iPhone上不起作用,但后来我做了一些研究,似乎我必须上传一些APN,最后我正确地设置了它,现在它在iPhone上起作用了,但当我尝试向Android发送短信时,它没有接收到它,而是发送给我一条消息,表明代码是在iPhone上发送的,就像在iPhone上

  • 是否可以使用Firestore安全规则中的Firebase安装令牌? 如何验证FIS auth令牌?它们应该如何使用?

  • 我有一个REST Jersey web服务。 php中基于令牌的身份验证 它在答复中提到; “然后它发送此令牌和请求的某些特征的哈希来验证请求,例如sha1(令牌+时间戳+请求URL+请求正文)。您的服务器可以对此进行验证,而客户端不必在每个请求上以纯文本发送令牌。” 另一个问题是,一旦服务器接收到这个令牌的哈希值(包括时间戳和用户ID等),服务器如何在没有存储令牌的查找表或数据库的情况下从这个令