[google_sign_in] Add serverAuthCode attribute to google_sign_in_platform_interface user data (#4179)
diff --git a/packages/google_sign_in/google_sign_in_platform_interface/CHANGELOG.md b/packages/google_sign_in/google_sign_in_platform_interface/CHANGELOG.md
index ee43db6..9178641 100644
--- a/packages/google_sign_in/google_sign_in_platform_interface/CHANGELOG.md
+++ b/packages/google_sign_in/google_sign_in_platform_interface/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 2.1.0
+
+* Add serverAuthCode attribute to user data
+
## 2.0.1
* Updates `init` function in `MethodChannelGoogleSignIn` to parametrize `clientId` property.
diff --git a/packages/google_sign_in/google_sign_in_platform_interface/lib/src/types.dart b/packages/google_sign_in/google_sign_in_platform_interface/lib/src/types.dart
index 61231d1..e30966f 100644
--- a/packages/google_sign_in/google_sign_in_platform_interface/lib/src/types.dart
+++ b/packages/google_sign_in/google_sign_in_platform_interface/lib/src/types.dart
@@ -31,6 +31,7 @@
this.displayName,
this.photoUrl,
this.idToken,
+ this.serverAuthCode,
});
/// The display name of the signed in user.
@@ -66,9 +67,12 @@
/// data.
String? idToken;
+ /// Server auth code used to access Google Login
+ String? serverAuthCode;
+
@override
- int get hashCode =>
- hashObjects(<String?>[displayName, email, id, photoUrl, idToken]);
+ int get hashCode => hashObjects(
+ <String?>[displayName, email, id, photoUrl, idToken, serverAuthCode]);
@override
bool operator ==(dynamic other) {
@@ -79,7 +83,8 @@
otherUserData.email == email &&
otherUserData.id == id &&
otherUserData.photoUrl == photoUrl &&
- otherUserData.idToken == idToken;
+ otherUserData.idToken == idToken &&
+ otherUserData.serverAuthCode == serverAuthCode;
}
}
diff --git a/packages/google_sign_in/google_sign_in_platform_interface/lib/src/utils.dart b/packages/google_sign_in/google_sign_in_platform_interface/lib/src/utils.dart
index 4a70ec4..0d89835 100644
--- a/packages/google_sign_in/google_sign_in_platform_interface/lib/src/utils.dart
+++ b/packages/google_sign_in/google_sign_in_platform_interface/lib/src/utils.dart
@@ -14,7 +14,8 @@
id: data['id']!,
displayName: data['displayName'],
photoUrl: data['photoUrl'],
- idToken: data['idToken']);
+ idToken: data['idToken'],
+ serverAuthCode: data['serverAuthCode']);
}
/// Converts token data coming from native code into the proper platform interface type.
diff --git a/packages/google_sign_in/google_sign_in_platform_interface/pubspec.yaml b/packages/google_sign_in/google_sign_in_platform_interface/pubspec.yaml
index 75b3d98..aa41039 100644
--- a/packages/google_sign_in/google_sign_in_platform_interface/pubspec.yaml
+++ b/packages/google_sign_in/google_sign_in_platform_interface/pubspec.yaml
@@ -4,7 +4,7 @@
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+google_sign_in%22
# NOTE: We strongly prefer non-breaking changes, even at the expense of a
# less-clean API. See https://flutter.dev/go/platform-interface-breaking-changes
-version: 2.0.1
+version: 2.1.0
environment:
sdk: ">=2.12.0 <3.0.0"
diff --git a/packages/google_sign_in/google_sign_in_platform_interface/test/method_channel_google_sign_in_test.dart b/packages/google_sign_in/google_sign_in_platform_interface/test/method_channel_google_sign_in_test.dart
index 390c125..fcb443f 100644
--- a/packages/google_sign_in/google_sign_in_platform_interface/test/method_channel_google_sign_in_test.dart
+++ b/packages/google_sign_in/google_sign_in_platform_interface/test/method_channel_google_sign_in_test.dart
@@ -13,6 +13,8 @@
"id": "8162538176523816253123",
"photoUrl": "https://lh5.googleusercontent.com/photo.jpg",
"displayName": "John Doe",
+ 'idToken': '123',
+ 'serverAuthCode': '789',
};
const Map<dynamic, dynamic> kTokenData = <String, dynamic>{