React-redux-firebase: UpdateAuth should update profile like when logging in

Created on 23 Dec 2019  路  2Comments  路  Source: prescottprue/react-redux-firebase

Do you want to request a feature or report a bug?

Bug

What is the current behavior?

I want to update the user profile document in firestore, whenever I update the firebase auth data. For instance, when I update the displayName and photoURL in of a Firebase.User.

Currently, a firebase.login() will copy the displayName and map the photoURL to the avatarUrl field of users/xxxxxx

However, when I update the Firebase auth profile, either using your firebase.updateAuth() or the original firebase.auth().currentUser.updateProfile(), the avatarUrl and providerData fields are not updated, before I logout and in again.

What is the expected behavior?

I expect that if I call the firebase.updateAuth() helper function in order to update the profile, it will do the same data syncing from firebase auth to the users/xxx document, as when I log in.

The changes made by the user (i.e. new name or profile picture) needs to be effective before logging out and in.

Which versions of dependencies, and which browser and OS are affected by this issue? Did this work in previous versions or setups?

    "react": "16.8.3",
    "react-native": "0.59.10",
    "react-native-firebase": "^5.3.1",
    "react-redux": "^5.1.1",
    "react-redux-firebase": "^2.2.6",
    "redux": "^4.0.1",
    "redux-devtools-extension": "^2.13.8",
    "redux-firestore": "^0.9.0",
    "redux-persist": "^5.10.0",
    "redux-thunk": "^2.3.0"

I also tested with newest 2.4.1, same issue

Most helpful comment

Maybe, you should add it to the documentation?

All 2 comments

You need to pass true to second parameter of firebase.updateAuth() for it to sync profile data with database

firebase.updateAuth({displayName:'...', profileA: '...', profileB: '...'}, true)

It will call firebase.updateProfile to do an actual update on your database.

Maybe, you should add it to the documentation?

Was this page helpful?
0 / 5 - 0 ratings