【问题标题】:Which API should I use to exchange a Firebase Custom Token?我应该使用哪个 API 来交换 Firebase 自定义令牌?
【发布时间】:2020-04-21 18:59:19
【问题描述】:

我已经阅读了很多关于使用 Firebase 自定义令牌的文章。总而言之,分为三个步骤:

  1. 使用firebase-admin.auth().createCustomToken(/* user ID */) 创建自定义令牌
  2. 通过交换自定义令牌获取 ID 令牌。
  3. 将文档发布到 Firestore

我可以从以下两个 API 中获取 ID 令牌。

https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyCustomToken?key=API_KEY
https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=API_KEY

在这两个 Google API 中,我应该将哪一个用于新项目?

一些我也想知道的信息:

  • 这些 API 是否真的相同?
  • 除了名称verifyCustomTokenaccounts:signInWithCustomToken之外,两者有什么区别?
  • 我应该使用 v3 API,因为它不是 v1 吗?一些教程仍然引用 v1 API。

【问题讨论】:

标签: firebase firebase-authentication


【解决方案1】:

当前的Google Identity Toolkit for Websites API documentation 使用v3 URL 格式(GITKit v3)。因此 v1 和 v2 都已弃用,不应使用。有趣的是,官方参考并没有列出所有GITKit v3 endpoints

Firebase SDK v7.14.2 的当前版本使用 v3 API,因此我建议使用相同的端点。

https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyCustomToken?key=API_KEY

GITKit v3 的发布涉及 GITKit v1 和 v2 API 的 restructure - 导致端点被重命名。

继续前进,使用GITKit v3 endpoints

【讨论】:

  • 我无法相信它。他们不仅仍然保留旧文档而没有提及新端点,而且如果您尝试发布到旧端点,它甚至不会返回指向新文档/端点的错误消息。
  • 同上@JacobFW 我在这上面浪费了很多时间,这绝对令人沮丧。我在尝试学习/实施时只能找到 v1/v2 文档 =/ 谢谢@samthecodingman!
猜你喜欢
  • 2018-03-24
  • 2020-10-14
  • 1970-01-01
  • 2014-08-15
  • 2020-08-07
  • 2021-10-26
  • 1970-01-01
  • 2016-09-28
  • 2017-04-16
相关资源
最近更新 更多