Roo*_*kie 9 firebase firebase-authentication
我能够允许用户使用电子邮件和密码登录 Firebase。我按照以下说明操作:https : //firebase.google.com/docs/reference/rest/auth/#section-sign-in-email-password
但是,1 小时后,身份验证似乎已过期,我无法再使用我的应用程序。有人知道我怎么能延长那个小时吗?我已经阅读了多个具有非常相似问题的帖子,但我找不到明确的答案。似乎有些人认为有一种方法可以获得重新验证令牌或类似的东西,但仍然没有明确的答案。
Firebase 身份验证会话的寿命很长。每次用户登录时,用户凭据都会发送到 Firebase 身份验证后端并交换 Firebase ID 令牌 (JWT) 和刷新令牌。Firebase ID 令牌的生命周期很短,只能持续一个小时;刷新令牌可用于检索新的 ID 令牌。仅当发生以下情况之一时,刷新令牌才会过期:
- 该用户已被删除
- 该用户已被禁用
- 检测到用户的主要帐户更改。这包括密码或电子邮件地址更新等事件。
网站客户端代码可以调用User.getIdToken(forceRefresh?: boolean ):
如果当前令牌尚未过期,则返回当前令牌。否则,这将刷新令牌并返回一个新令牌。
每次将令牌发送到服务器时都需要调用此方法。
或者,用户会话可以通过会话 cookie 进行管理。
Firebase Auth 为依赖会话 cookie 的传统网站提供服务器端会话 cookie 管理。与客户端短期 ID 令牌相比,此解决方案具有多个优点,客户端短期 ID 令牌可能需要每次都需要重定向机制来在过期时更新会话 cookie:
- 通过基于 JWT 的会话令牌提高了安全性,这些令牌只能使用授权的服务帐户生成。
- 无状态会话 cookie 具有使用 JWT 进行身份验证的所有好处。会话 cookie 具有与 ID 令牌相同的声明(包括自定义声明),从而对会话 cookie 执行相同的权限检查。
- 能够创建自定义过期时间从 5 分钟到 2 周不等的会话 cookie。
- 根据应用程序要求灵活地实施 cookie 策略:域、路径、安全
httpOnly
等。- 当怀疑令牌被盗时,能够使用现有的刷新令牌撤销 API 撤销会话 cookie。
- 能够检测主要帐户更改的会话撤销。
归档时间: |
|
查看次数: |
2867 次 |
最近记录: |