我在我的应用程序中有一个功能,用户可以更改他们的密码或更新他们的电子邮件地址。
根据本文档https://firebase.google.com/docs/auth/admin/manage-sessions,我会假设当同一用户同时登录到另一个设备时,当密码更改时,刷新令牌应该被撤销,用户应该被注销。在我的案例中似乎不会发生这种情况。我使用这两个侦听器来检测更改:
addStateDidChangeListener
addIDTokenDidChangeListener
当我通过Firebase登录和注销功能登录/注销时,它们正常工作,但当我在另一台设备上更改密码时,它们不会被调用。
当用户在另一台设备上更改密码时,是否有办法获得通知?
1条答案
按热度按时间332nm8kg1#
Firebase身份验证使用ID令牌来维护客户端上的身份验证状态,这些令牌的有效期为一小时。只有当SDK需要刷新令牌时(在令牌到期前5分钟自动刷新),它才能保证检测到变化,因此这可能需要一小时。
如果要在令牌过期之前强制刷新令牌,可以对User对象调用
reload
。