使用来自 REST API 的令牌的 Firebase 登录

Posted

技术标签:

【中文标题】使用来自 REST API 的令牌的 Firebase 登录【英文标题】:Firebase SignIn Using a Token from REST API 【发布时间】:2021-10-26 02:47:30 【问题描述】:

我有整个项目都在使用 Firebase REST API,但我想开始使用 Firebase SDK (ios/android) 而不停止使用 Authentication REST API。 我可以访问这些令牌:

access_token id_token 刷新令牌

我可以使用它们登录 iOS 或/和 Android 的 Firebase 身份验证 SDK 吗? 如果是,怎么做?

问候

【问题讨论】:

【参考方案1】:

这些仅适用于其余 API,因为您必须在模块内进行身份验证才能调用用户身份验证过程。

为了分解它,access_tokenid_token 可以互换,refresh token 允许客户端在 id_token 过期或手动调用时请求新的id_token。 但据我所知,无法手动将刷新令牌注入身份验证状态,并且需要类似 admin-sdk 之类的东西来创建自定义身份验证令牌以进行跨平台身份验证。

在这种情况下,我会推荐一个云功能并使用自定义身份验证来验证用户从其余 API 迁移到 firebase 模块。

您需要做的就是创建一个云函数,在调用时获取用户当前的Auth.uid(将使用您提供的id_token 完成) - 使用用户uid,您可以创建一个custom sign-in token 话虽如此,您也可以使用 3rd 方 JWT 登录,但不建议这样做。

【讨论】:

以上是关于使用来自 REST API 的令牌的 Firebase 登录的主要内容,如果未能解决你的问题,请参考以下文章

如何修复“访问令牌来自错误的受众或资源。”尝试使用 MSAL 令牌访问 Azure 的 REST api 时

PHP Slim Framework REST API - 在每条路由之前验证访问令牌?

来自 wordpress 的 REST API 调用中的服务不可用

如何以及在何处生成 CSRF 令牌以通​​过 REST API 向 Django 应用程序发出请求?

使用rest api生成jenkins api令牌

REST API 身份验证令牌