@@ -13,12 +13,18 @@ class AuthUserInfo {
1313 });
1414
1515 factory AuthUserInfo .fromJson (Map <String , dynamic > json) => AuthUserInfo (
16- uid: json['uid' ] as String ,
17- displayName: json['displayName' ] as String ? ?? '' ,
16+ uid: json['uid' ] as String ? ?? json['raw_id' ] as String ? ?? '' ,
17+ displayName: json['displayName' ] as String ? ??
18+ json['display_name' ] as String ? ??
19+ '' ,
1820 email: json['email' ] as String ? ?? '' ,
19- photoURL: json['photoURL' ] as String ? ?? '' ,
20- providerId: json['providerId' ] as String ,
21- phoneNumber: json['phoneNumber' ] as String ? ,
21+ photoURL:
22+ json['photoURL' ] as String ? ?? json['photo_url' ] as String ? ?? '' ,
23+ providerId: json['providerId' ] as String ? ??
24+ json['provider_id' ] as String ? ??
25+ '' ,
26+ phoneNumber:
27+ json['phoneNumber' ] as String ? ?? json['phone_number' ] as String ? ,
2228 );
2329
2430 /// The user identifier for the linked provider.
@@ -73,6 +79,12 @@ class AuthUserMetadata {
7379 return DateTime .fromMillisecondsSinceEpoch (value);
7480 }
7581 if (value is String ) {
82+ // Try parsing as integer first (milliseconds since epoch)
83+ final asInt = int .tryParse (value);
84+ if (asInt != null ) {
85+ return DateTime .fromMillisecondsSinceEpoch (asInt);
86+ }
87+ // Otherwise parse as ISO string
7688 return DateTime .parse (value);
7789 }
7890 throw ArgumentError ('Invalid date format: $value ' );
0 commit comments