【问题标题】:Firebase Auth: Manually detect if the current user has recently authenticatedFirebase Auth:手动检测当前用户最近是否经过身份验证
【发布时间】:2020-01-17 18:20:55
【问题描述】:

默认情况下,如果用户在 X 时间前登录,Firebase 将要求他/她通过 reauthenticateWithCredential 重新进行身份验证以完成操作。

如果用户在继续下一步操作之前已经有资格进行重新身份验证,是否有办法查询 Firebase API?

【问题讨论】:

  • 我不确定你说的是什么要求。你是在什么地方读到的吗?通常,Firebase Auth SDK 会自动刷新其 ID 令牌,您无需执行任何操作。
  • @DougStevenson 对于某些敏感操作,服务器要求用户最近登录。请参阅firebase.google.com/docs/reference/js/firebase.auth.Error 中的auth/requires-recent-login

标签: javascript firebase firebase-authentication


【解决方案1】:

对于某些敏感操作,Firebase 身份验证 API 要求用户最近(重新)使用其凭据进行身份验证。

目前无法检测特定调用是否需要重新进行身份验证,也无法记录 Firebase 需要重新身份验证之前的时间间隔。

实现这一点的正确方法是执行操作并捕获错误。如果error.codeauth/requires-recent-login 要求用户重新认证,用新的凭据调用reauthenticateWithCredential,然后重试操作。

【讨论】:

  • 谢谢你的回答弗兰克,我会尝试调查这种方法:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-29
  • 1970-01-01
  • 2021-05-01
  • 1970-01-01
  • 2017-09-21
相关资源
最近更新 更多