You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用delete()删除Firebase匿名用户时抛出FirebaseAuthRecentLoginRequiredException的解决方法

解决Firebase匿名用户删除时的FirebaseAuthRecentLoginRequiredException问题

针对Firebase BOM 30.3.2版本中删除匿名用户时出现的异常,可通过以下方案解决:

  • 核心逻辑:匿名用户无需凭证即可重新登录,重新执行匿名登录操作会刷新会话的登录状态,满足Firebase对敏感操作的“最近登录”安全校验要求
  • 具体实现代码(Kotlin):
val firebaseAuth = FirebaseAuth.getInstance()
if (firebaseAuth.currentUser?.isAnonymous == true) {
    firebaseAuth.signInAnonymously()
        .addOnCompleteListener { signInTask ->
            if (signInTask.isSuccessful) {
                // 重新登录完成,执行删除操作
                firebaseAuth.currentUser?.delete()
                    ?.addOnCompleteListener { deleteTask ->
                        if (deleteTask.isSuccessful) {
                            // 匿名用户删除成功
                        } else {
                            // 处理删除失败的异常
                            val exception = deleteTask.exception
                            // 可根据异常类型做对应处理
                        }
                    }
            } else {
                // 处理重新匿名登录失败的异常
                val exception = signInTask.exception
            }
        }
}

补充说明

匿名用户的身份基于设备标识,重新调用signInAnonymously()不会创建新的匿名用户,而是复用当前用户的会话并更新登录时间戳,以此通过Firebase的安全校验,避免抛出FirebaseAuthRecentLoginRequiredException异常。

内容的提问来源于stack exchange,提问作者Androidew1267

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 11:15:00