diff --git a/packages/google_sign_in/google_sign_in_android/CHANGELOG.md b/packages/google_sign_in/google_sign_in_android/CHANGELOG.md index 0117c25f07d9..4b14e9087e03 100644 --- a/packages/google_sign_in/google_sign_in_android/CHANGELOG.md +++ b/packages/google_sign_in/google_sign_in_android/CHANGELOG.md @@ -1,3 +1,9 @@ +## 7.2.11 + +* Bumps AndroidX Credentials to v1.6.0 +* Bumps Play Services Auth to v21.5.1 +* Bumps Android Identity GoogleID to v1.2.0 + ## 7.2.10 * Updates build files from Groovy to Kotlin. diff --git a/packages/google_sign_in/google_sign_in_android/android/build.gradle.kts b/packages/google_sign_in/google_sign_in_android/android/build.gradle.kts index 4ee50f996d19..3e293f1a639e 100644 --- a/packages/google_sign_in/google_sign_in_android/android/build.gradle.kts +++ b/packages/google_sign_in/google_sign_in_android/android/build.gradle.kts @@ -71,10 +71,10 @@ android { } dependencies { - implementation("androidx.credentials:credentials:1.5.0") - implementation("androidx.credentials:credentials-play-services-auth:1.5.0") - implementation("com.google.android.libraries.identity.googleid:googleid:1.1.1") - implementation("com.google.android.gms:play-services-auth:21.4.0") + implementation("androidx.credentials:credentials:1.6.0") + implementation("androidx.credentials:credentials-play-services-auth:1.6.0") + implementation("com.google.android.libraries.identity.googleid:googleid:1.2.0") + implementation("com.google.android.gms:play-services-auth:21.5.1") testImplementation("junit:junit:4.13.2") testImplementation("org.mockito:mockito-core:5.23.0") } diff --git a/packages/google_sign_in/google_sign_in_android/android/src/main/java/io/flutter/plugins/googlesignin/GoogleSignInPlugin.java b/packages/google_sign_in/google_sign_in_android/android/src/main/java/io/flutter/plugins/googlesignin/GoogleSignInPlugin.java index 505eb38ff835..aa8b5d1b2172 100644 --- a/packages/google_sign_in/google_sign_in_android/android/src/main/java/io/flutter/plugins/googlesignin/GoogleSignInPlugin.java +++ b/packages/google_sign_in/google_sign_in_android/android/src/main/java/io/flutter/plugins/googlesignin/GoogleSignInPlugin.java @@ -287,7 +287,7 @@ public void onResult(GetCredentialResponse response) { googleIdTokenCredential.getDisplayName(), googleIdTokenCredential.getFamilyName(), googleIdTokenCredential.getGivenName(), - googleIdTokenCredential.getId(), + googleIdTokenCredential.getEmail(), googleIdTokenCredential.getIdToken(), profilePictureUri == null ? null : profilePictureUri.toString()))); } else { @@ -384,7 +384,9 @@ public void authorize( } if (params.getServerClientIdForForcedRefreshToken() != null) { authorizationRequestBuilder.requestOfflineAccess( - params.getServerClientIdForForcedRefreshToken(), true); + params.getServerClientIdForForcedRefreshToken()); + // This requests a new refresh token + authorizationRequestBuilder.setPrompt(AuthorizationRequest.Prompt.CONSENT); } if (params.getAccountEmail() != null) { authorizationRequestBuilder.setAccount( diff --git a/packages/google_sign_in/google_sign_in_android/android/src/main/kotlin/io/flutter/plugins/googlesignin/Messages.kt b/packages/google_sign_in/google_sign_in_android/android/src/main/kotlin/io/flutter/plugins/googlesignin/Messages.kt index b3c7275ccfed..3243c53002e2 100644 --- a/packages/google_sign_in/google_sign_in_android/android/src/main/kotlin/io/flutter/plugins/googlesignin/Messages.kt +++ b/packages/google_sign_in/google_sign_in_android/android/src/main/kotlin/io/flutter/plugins/googlesignin/Messages.kt @@ -331,7 +331,7 @@ data class PlatformGoogleIdTokenCredential( val displayName: String? = null, val familyName: String? = null, val givenName: String? = null, - val id: String, + val email: String, val idToken: String, val profilePictureUri: String? = null ) { @@ -340,11 +340,11 @@ data class PlatformGoogleIdTokenCredential( val displayName = pigeonVar_list[0] as String? val familyName = pigeonVar_list[1] as String? val givenName = pigeonVar_list[2] as String? - val id = pigeonVar_list[3] as String + val email = pigeonVar_list[3] as String val idToken = pigeonVar_list[4] as String val profilePictureUri = pigeonVar_list[5] as String? return PlatformGoogleIdTokenCredential( - displayName, familyName, givenName, id, idToken, profilePictureUri) + displayName, familyName, givenName, email, idToken, profilePictureUri) } } @@ -353,7 +353,7 @@ data class PlatformGoogleIdTokenCredential( displayName, familyName, givenName, - id, + email, idToken, profilePictureUri, ) diff --git a/packages/google_sign_in/google_sign_in_android/lib/google_sign_in_android.dart b/packages/google_sign_in/google_sign_in_android/lib/google_sign_in_android.dart index f233d4f2a7d1..bce2bb4b9922 100644 --- a/packages/google_sign_in/google_sign_in_android/lib/google_sign_in_android.dart +++ b/packages/google_sign_in/google_sign_in_android/lib/google_sign_in_android.dart @@ -237,7 +237,7 @@ class GoogleSignInAndroid extends GoogleSignInPlatform { // Store a preliminary entry using the 'openid' scope, which in practice // always seems to be granted at authentication time, so that an account // that is authenticated but never authorized can still be disconnected. - _cachedAccounts[authnResult.credential.id] = 'openid'; + _cachedAccounts[authnResult.credential.email] = 'openid'; return authnResult.credential; } } @@ -320,7 +320,7 @@ class GoogleSignInAndroid extends GoogleSignInPlatform { // The ID should always be availabe from the token, but if for some reason // it can't be extracted, use the email address instead as a reasonable // fallback method of identifying the account. - final String email = credential.id; + final String email = credential.email; final String userId = _idFromIdToken(credential.idToken) ?? email; return AuthenticationResults( diff --git a/packages/google_sign_in/google_sign_in_android/lib/src/messages.g.dart b/packages/google_sign_in/google_sign_in_android/lib/src/messages.g.dart index 343a3c3ab1fb..f12339ef9653 100644 --- a/packages/google_sign_in/google_sign_in_android/lib/src/messages.g.dart +++ b/packages/google_sign_in/google_sign_in_android/lib/src/messages.g.dart @@ -330,7 +330,7 @@ class PlatformGoogleIdTokenCredential { this.displayName, this.familyName, this.givenName, - required this.id, + required this.email, required this.idToken, this.profilePictureUri, }); @@ -341,7 +341,7 @@ class PlatformGoogleIdTokenCredential { String? givenName; - String id; + String email; String idToken; @@ -352,7 +352,7 @@ class PlatformGoogleIdTokenCredential { displayName, familyName, givenName, - id, + email, idToken, profilePictureUri, ]; @@ -368,7 +368,7 @@ class PlatformGoogleIdTokenCredential { displayName: result[0] as String?, familyName: result[1] as String?, givenName: result[2] as String?, - id: result[3]! as String, + email: result[3]! as String, idToken: result[4]! as String, profilePictureUri: result[5] as String?, ); diff --git a/packages/google_sign_in/google_sign_in_android/pigeons/messages.dart b/packages/google_sign_in/google_sign_in_android/pigeons/messages.dart index 9a490e4fbb9f..c62508357696 100644 --- a/packages/google_sign_in/google_sign_in_android/pigeons/messages.dart +++ b/packages/google_sign_in/google_sign_in_android/pigeons/messages.dart @@ -91,7 +91,7 @@ class PlatformGoogleIdTokenCredential { String? displayName; String? familyName; String? givenName; - late String id; + late String email; late String idToken; String? profilePictureUri; } diff --git a/packages/google_sign_in/google_sign_in_android/pubspec.yaml b/packages/google_sign_in/google_sign_in_android/pubspec.yaml index ead6b61afa4a..67825c83a646 100644 --- a/packages/google_sign_in/google_sign_in_android/pubspec.yaml +++ b/packages/google_sign_in/google_sign_in_android/pubspec.yaml @@ -2,7 +2,7 @@ name: google_sign_in_android description: Android implementation of the google_sign_in plugin. repository: https://github.com/flutter/packages/tree/main/packages/google_sign_in/google_sign_in_android issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+google_sign_in%22 -version: 7.2.10 +version: 7.2.11 environment: sdk: ^3.9.0 diff --git a/packages/google_sign_in/google_sign_in_android/test/google_sign_in_android_test.dart b/packages/google_sign_in/google_sign_in_android/test/google_sign_in_android_test.dart index e13e26c41396..e275159c7664 100644 --- a/packages/google_sign_in/google_sign_in_android/test/google_sign_in_android_test.dart +++ b/packages/google_sign_in/google_sign_in_android/test/google_sign_in_android_test.dart @@ -40,7 +40,7 @@ void main() { provideDummy( GetCredentialSuccess( - credential: PlatformGoogleIdTokenCredential(id: '', idToken: ''), + credential: PlatformGoogleIdTokenCredential(email: '', idToken: ''), ), ); provideDummy( @@ -126,7 +126,7 @@ void main() { credential: PlatformGoogleIdTokenCredential( displayName: _testUser.displayName, profilePictureUri: _testUser.photoUrl, - id: _testUser.email, + email: _testUser.email, idToken: _testAuthnToken.idToken!, ), ), @@ -284,7 +284,7 @@ void main() { credential: PlatformGoogleIdTokenCredential( displayName: _testUser.displayName, profilePictureUri: _testUser.photoUrl, - id: _testUser.email, + email: _testUser.email, idToken: _testAuthnToken.idToken!, ), ), @@ -992,7 +992,7 @@ void main() { credential: PlatformGoogleIdTokenCredential( displayName: _testUser.displayName, profilePictureUri: _testUser.photoUrl, - id: _testUser.email, + email: _testUser.email, idToken: _testAuthnToken.idToken!, ), ),