几天后 Firebase 用户被注销
Firebase user gets logged out after a couple of days
我在我的应用程序中添加了电子邮件和密码、google、facebook 身份验证。但是,我注意到一段时间后(可能是 1.2 天)firebase.getAuth()
returns 为空。
请注意,我没有在代码中的任何地方调用 firebase.unauth()
,似乎经过身份验证的会话会在一段时间后过期。
有没有办法让会话在几天后不会过期?
我可以想到 2 个解决方案,但对我来说都不好:
- 存储来自 Google、Facebook(可能加密)、电子邮件和密码组合(最坏情况)的自定义 OAuthToken,并在会话变得未授权时一次又一次地调用
firebase.authWithOAuthToken()
- 每次会话过期时,将用户带回登录屏幕,要求再次执行授权。我认为这比上面的更糟糕,因为它破坏了用户体验并可能让大多数用户感到不安。
是否有内置机制来实现上述目标?谢谢!
解决方案编号 3 也是此问题的原因。在登录和授权选项卡上的 firebase 仪表板中,您可以设置会话长度,我认为默认值为 24 或 48 小时。
因此,如果将其设置为 24 小时,则所有会话都将在 24 小时后过期,就像您现在看到的那样。但是您可以将其更改为 6 个月。
我在我的应用程序中添加了电子邮件和密码、google、facebook 身份验证。但是,我注意到一段时间后(可能是 1.2 天)firebase.getAuth()
returns 为空。
请注意,我没有在代码中的任何地方调用 firebase.unauth()
,似乎经过身份验证的会话会在一段时间后过期。
有没有办法让会话在几天后不会过期?
我可以想到 2 个解决方案,但对我来说都不好:
- 存储来自 Google、Facebook(可能加密)、电子邮件和密码组合(最坏情况)的自定义 OAuthToken,并在会话变得未授权时一次又一次地调用
firebase.authWithOAuthToken()
- 每次会话过期时,将用户带回登录屏幕,要求再次执行授权。我认为这比上面的更糟糕,因为它破坏了用户体验并可能让大多数用户感到不安。
是否有内置机制来实现上述目标?谢谢!
解决方案编号 3 也是此问题的原因。在登录和授权选项卡上的 firebase 仪表板中,您可以设置会话长度,我认为默认值为 24 或 48 小时。
因此,如果将其设置为 24 小时,则所有会话都将在 24 小时后过期,就像您现在看到的那样。但是您可以将其更改为 6 个月。