Firebase Auth idToken 大小为 900 个字符是不是正常?

Posted

技术标签:

【中文标题】Firebase Auth idToken 大小为 900 个字符是不是正常?【英文标题】:Is a Firebase Auth idToken size of 900 characters normal?Firebase Auth idToken 大小为 900 个字符是否正常? 【发布时间】:2020-10-03 11:26:54 【问题描述】:

我正在开发的 Flutter 应用中使用 Firebase 身份验证。

我正在使用firebase_auth dart 库。

用户登录后,对我的自定义服务器后端的每个请求都包含我通过调用 FirebaseUser.getIdToken() 获得的 idToken。我最近注意到的是 idToken 有 900 个字符长!这似乎太长了。通过在每个请求上发送 firebase idToken,我的网络数据使用量增加了 25 倍。

这正常吗?我以前从未使用过 JWT,所以我不知道会发生什么。

【问题讨论】:

【参考方案1】:

这很正常,用现代术语来说也没有那么大。

There is no maximum size of a JWT。这将取决于 Firebase Auth 放入的内容,这来自他们用于登录的身份验证。大小肯定会因用户而异,尤其是根据您可能在自定义声明中放入的内容。

【讨论】:

好像没必要这么大:( 您可以向 Firebase 提出功能请求,看看是否可以减少它,但老实说,它的用途并没有那么大,而且我认为不会有任何改变。 support.google.com/firebase/contact/support 为了让我的服务器保持无状态,我需要在每个请求中发送一个 1kb 的令牌。它看起来如此粗暴和浪费。 我了解,如果您希望能够兑现令牌的到期,则无法解决此问题。当我说 1k 不是那么多数据时,你必须相信我。那是在 1990 年,但不是今天。

以上是关于Firebase Auth idToken 大小为 900 个字符是不是正常?的主要内容,如果未能解决你的问题,请参考以下文章

IdToken()和Uid()在firebase中有什么区别

Firebase Auth ID 令牌的“aud”声明不正确

React Firebase 防止 axios 中的令牌过期

Firebase SDK 令牌验证错误:auth/argument-error

Firebase 使用 idToken 或 refreshToken 登录

检查 Auth0 idToken 是不是已过期