【发布时间】:2020-09-13 06:44:18
【问题描述】:
我的应用程序遇到了这个问题,它最终会(不确定时间范围,大概是 1 小时)停止实时更新 firebase 实时数据库更改,而无需注销并重新登录。安全规则可防止未经授权的用户访问数据.用户将保持登录状态并且身份验证会话仍然存在,所以我一直很困惑为什么它最终会停止更新。
经过大量的互联网搜索,我发现登录时提供的令牌 ID 仅持续 1 小时,此时它们会使用刷新令牌自动刷新。 (作为记录,我使用firebase.auth().signInWithEmailAndPassword 登录)。
现在,我的问题 - 刷新令牌 ID 后是否需要重新订阅我的数据库?更具体地说,当检测到令牌刷新时,我是否需要先调用firebase.database().ref().off(),然后再调用firebase.database().ref().on()?如果没有,您能否指出可能出现问题的方向?
编辑:可能还值得注意的是,如果我更改我的安全规则以允许未经身份验证的读取,用户仍然可以无限期地写入数据库而无需重新进行身份验证。
【问题讨论】:
标签: reactjs firebase firebase-realtime-database firebase-authentication