当前位置: 首页 > 知识库问答 >
问题:

如何验证由createCustomToken()创建的自定义Firebase身份验证令牌

宗政欣可
2023-03-14

我通过createCustomToken()创建了自定义身份验证令牌,请参见https://firebase.google.com/docs/auth/admin/create-custom-tokens.

但稍后,当我尝试通过verifyIdToken()函数验证此令牌时,它会抛出以下错误

Error: verifyIdToken() expects an ID token, but was given a custom token. See https://firebase.google.com/docs/auth/admin/verify-id-tokens for details on how to retrieve an ID token.

这是合理的,因为没有这样的ID。。。但我需要的是,简单地验证令牌,类似于jwt。验证()。。。

有没有人遇到过这个问题,找到了什么解决方案?是否可以通过jsonwebtoken库验证Firebase身份验证令牌?

P. S.我要在谷歌云功能endpoint中使用验证

解决方案:看起来我刚刚找到了一个解决方案https://firebase.google.com/docs/auth/admin/verify-id-tokens#verify_id_tokens_using_a_third-party_jwt_库只需要从https://www.googleapis.com/robot/v1/metadata/x509/securetoken@系统。gserviceaccount。com并使用jsonwebtoken库对其进行验证。。。

共有1个答案

丁子石
2023-03-14

类似的名称是验证IdToken,而不是自定义令牌。

CustomToken用于客户端登录。这个自定义令牌可以使用简单的JWT验证来验证,就像您的解决方案一样(它在一小时后过期)。

但是,IdToken是另一回事,您需要使用firebase auth进行登录过程。

要在登录后从客户端获取Id Token,取决于客户端是Android、Web还是IOS。获取IdToken的代码可以在本节中读取

 类似资料:
  • 我正在使用fire base制作一个反应原生应用程序,用于使用电子邮件登录im并通过身份验证。但是,有没有办法使用用户名和密码登录?

  • 于是我在这里看到:https://firebase . Google . com/docs/auth/web/account-linking # link-auth-provider-credentials-to-a-user-account现在可以在Firebase中链接用户账号了。我还看到Firebase提供了匿名认证的功能,它为一个用户创建一个用户会话,不需要任何凭证。 在我们的应用程序中,

  • 我想要自定义firebase身份验证,其中用户管理下级用户的角色。我需要指导,了解如何实现自己的后端身份验证系统。文档中到处都提到“将用户名和密码发送到后端以生成自定义令牌”。这个后端是什么?我在哪里追求这个?我的知识领域是firebase,firebase functions,angular 2/4,ionic2,用于本次讨论。。。谢谢

  • 问题内容: 我可以使用Google帐户在AppEngine中对用户进行身份验证的方式非常好。 但是,我需要使用 自定义的身份验证登录系统 。 我将有一个AppUsers表,其中包含用户名和加密密码。 我阅读了有关gae会话的内容,但在启动应用安全性方面需要帮助。 如何跟踪经过身份验证的用户会话?设置cookie? 初学者。 问题答案: 您可以使用cookie来做到这一点……其实并不难。您可以使用C

  • 我在spring MVC项目中实现了一个自定义身份验证提供程序。在我自己的重载authenticate()方法中,我实现了自己的身份验证,其中我构造了自己的UserPasswordAuthenticationToken()并返回对象。 现在,上述对象“UserPasswordAuthentictionToken”中的用户ID被匿名化,密码为null,权限设置为授予该用户的权限。 问题: 这是否会导

  • 问题内容: 在我的Java EE6 REST服务上,我想使用身份验证令牌从移动设备登录,用户将发送其用户名,密码,服务器将发回令牌,该令牌将用于授权用户对给定的进一步请求时间。 我可以这样简单地自己创建令牌吗?(我想我不需要加密此令牌,因为我将使用HTTPS。) 还是有一种更标准的方式来创建我的令牌?也许它存在于API之一 问题答案: 您有效地提出的方案允许客户端无限制地访问您的服务。初始登录后,