Firebase Auth - After updating the user's email, Firebase Auth logs out the user

谁说我不能喝 提交于 2020-12-12 04:57:46

问题


I am using Firebase Auth in my app. I update the email like follows:

firebaseAuth.currentUser?.updateEmail(email)

The email is updating 100% (I do a re-auth when necessary as well). My problem is after the e-mail has changed, the user is being logged out of his account and has to login again.

When I call

val user = firebaseAuth.currentUser 

after updating the email the user is null and my app wants you to login again with the new email address.

Is this the correct behaviour? It makes for a really bad user experience having to login again after changing the account email.


回答1:


I think Firebase is doing this on purpose for security reasons. You could work around this by calling the Firebase's login function automatically after changing the user's email.

However, I don't think that it is a normal behaviour if you're using the most recent version of Firebase. They explicitly state in their documentation that you need to re-authenticate the user to perform any profile change (if he hasn't signed in recently).

Some security-sensitive actions—such as deleting an account, setting a primary email address, and changing a password—require that the user has recently signed in. If you perform one of these actions, and the user signed in too long ago, the action fails with the FIRAuthErrorCodeCredentialTooOld error.

On my side, this effect only occurs on other devices on which the user has signed in, not on the device on which the edit action was performed.



来源:https://stackoverflow.com/questions/55283978/firebase-auth-after-updating-the-users-email-firebase-auth-logs-out-the-user

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!