提问者:小点点

如何从Firebase REST持久化Firebase身份验证API


通过REST登录我的Firebase应用程序https://firebase.google.com/docs/reference/rest/auth只会返回1小时后过期的令牌(根据REST响应,3600秒)。我看不到任何改变这一点的方法。

使用FirebaseJSSDK,身份验证将永远持续,这是我想要实现的。但是,如果有办法绕过它,我不想在我的应用程序中包含JSSDK(主要是因为它的大小(~700kb))。

有没有办法从官方Firebase REST api获取持久登录?


共1个答案

匿名用户

使用FirebaseJSSDK,身份验证将“永远”持续存在

这是因为JSSDK使用刷新令牌,在当前用户的FirebaseID令牌过期时自动负责获取该令牌的操作。请参阅文档。

因此,在使用Firebase Auth RESTAPI时,您需要使用允许将刷新令牌交换为ID令牌的endpoint自行实现此机制。

为此,您应该使用上次登录时收到的刷新令牌,例如使用使用电子邮件/密码登录用户的endpoint,或上次刷新ID令牌(见下文)。

您将收到一个包含新的FirebaseID令牌和刷新令牌的响应。下次这个新的ID令牌到期时,再次使用刷新令牌,依此类推…