Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase身份验证-更新用户后';s电子邮件,Firebase Auth注销用户_Firebase_Kotlin_Firebase Authentication - Fatal编程技术网

Firebase身份验证-更新用户后';s电子邮件,Firebase Auth注销用户

Firebase身份验证-更新用户后';s电子邮件,Firebase Auth注销用户,firebase,kotlin,firebase-authentication,Firebase,Kotlin,Firebase Authentication,我正在我的应用程序中使用Firebase Auth。我更新电子邮件如下: firebaseAuth.currentUser?.updateEmail(email) 电子邮件正在100%更新(必要时我也会重新验证)。我的问题是,在电子邮件更改后,用户将从其帐户注销,并且必须再次登录 当我打电话时 val user = firebaseAuth.currentUser 更新电子邮件后,用户为空,我的应用程序希望您使用新的电子邮件地址再次登录 这是正确的行为吗?更改帐户电子邮件后必须再次登录,这

我正在我的应用程序中使用Firebase Auth。我更新电子邮件如下:

firebaseAuth.currentUser?.updateEmail(email)
电子邮件正在100%更新(必要时我也会重新验证)。我的问题是,在电子邮件更改后,用户将从其帐户注销,并且必须再次登录

当我打电话时

val user = firebaseAuth.currentUser 
更新电子邮件后,用户为空,我的应用程序希望您使用新的电子邮件地址再次登录


这是正确的行为吗?更改帐户电子邮件后必须再次登录,这会造成非常糟糕的用户体验。

我认为Firebase出于安全原因故意这么做。您可以在更改用户的电子邮件后自动调用Firebase的登录功能来解决此问题

但是,如果您使用的是最新版本的Firebase,我认为这不是正常行为。他们在文档中明确声明,您需要重新验证用户以执行任何配置文件更改(如果他最近没有登录)

某些安全敏感操作(如删除帐户、设置主电子邮件地址和更改密码)需要用户最近登录。如果执行其中一个操作,并且用户登录时间过长,则该操作将失败,并出现FirautherRorCodeCredentialToOld错误


在我这方面,这种效果只会发生在用户登录的其他设备上,而不会发生在执行编辑操作的设备上。

谢谢,这是正确的答案。如果我做了一次重新验证,然后立即更新电子邮件或密码,它不会注销用户。如果答案对你有帮助,请毫不犹豫地更新答案!对不起,我投了一票,我的水平太低了,所以它只能显示:)但谢谢阿纳斯!您是否在刚刚重新授权的当前会话中注销?