如果有人窃取了您的 Firebase 身份验证刷新令牌,会发生啥情况?

Posted

技术标签:

【中文标题】如果有人窃取了您的 Firebase 身份验证刷新令牌,会发生啥情况?【英文标题】:What happens in case where someone steals your firebase auth refresh token?如果有人窃取了您的 Firebase 身份验证刷新令牌,会发生什么情况? 【发布时间】:2020-04-15 04:06:01 【问题描述】:

我开始了解 JWT,我想知道是否有人同时持有我的 id 令牌和刷新令牌,是否有人可以无限期地冒充我访问 firestore 或其他 firebase 资源(直到刷新令牌被撤销)?

如果是这样,firebase 如何防止这种情况发生?

我不禁觉得,如果有人能拿到我的 id 令牌,那么访问刷新令牌也不是那么难。

【问题讨论】:

是的。如果攻击者获得访问和/或刷新令牌,他们可以冒充您。此答案涵盖了以安全方式处理客户端设备上的令牌的一些方法:***.com/a/54258744/1235935 【参考方案1】:

与 Firebase API 的所有通信都是通过 HTTPS 进行的,这意味着没有人可以监听该通信。它是安全的。如果有人同时获得了新的 ID 令牌和刷新令牌,那么在调用 Firebase API 时可能会冒充您。

但是,除非您犯了安全错误,否则没有人可以获取您的 ID 令牌或刷新令牌。例如,在您登录时让您的计算机处于解锁状态是一个坏主意。或者,有一个容易猜到的密码。使用所有标准的安全预防措施,您不会有任何问题。

【讨论】:

感谢您的回答!不过,我还有一个担忧。 firebase.google.com/docs/auth/admin/manage-sessions 在这里,它说“怀疑活动令牌的大规模泄漏”。什么情况下会出现这种情况?

以上是关于如果有人窃取了您的 Firebase 身份验证刷新令牌,会发生啥情况?的主要内容,如果未能解决你的问题,请参考以下文章

使用 JWT 的移动身份验证

firebase 身份验证在刷新时延迟

如何使用 Firebase 刷新令牌保持用户身份验证?

使用刷新令牌对Firebase管理员进行身份验证

使用 Mockito 为 Firebase 用户身份验证设置单元测试

使用refreshToken颤动firebase自动刷新用户会话