Home > OS >  How to store additional data in Flutter and firebase Authentication method
How to store additional data in Flutter and firebase Authentication method

Time:02-15

Good Morning, I have a simple query, I am using firebase Authentication as a sign-in/ signup method to my flutter app, what is the right method if I want to store additional data, such as name, age and etc...

CodePudding user response:

If you look at the class User that is defined in User.dart for instance that ships with the Firebase SDK for Flutter, you'll see various properties of the User class, including but not limited to:

  • String? get displayName
  • String? get email
  • bool get emailVerified
  • bool get isAnonymous
  • UserMetadata get metadata

You might see the metadata property and think Aha! Maybe I can put my extra data there, but if you look at that class' properties and code you'll soon realize that it's not going to allow you to store additional properties in it either.

So the User in Firebase is not the right place to store additional information about that user itself! That's the take-away I want you to get from this answer.

The right way to go about doing this is to store your additional information per user inside your Firestore Database. Create a simple collection and name it something along the lines of UserInfo and in there per user-id, store the additional information that you need per user, and add a field to every object in that collection named user-id and store the user.id in that field. That way you can always do a look-up of user information per user.id.

CodePudding user response:

As i understand your problem to store additional data of a user after login. For this you can use Firestore database and create collections for the fields like- name, age and etc...

https://pub.dev/packages/cloud_firestore Have a look into this library.

https://medium.com/firebase-developers/cloud-firestore-basics-in-flutter-68c7ec42eeca

To understand firestore go through this article.

  • Related