Skip to content

[google_sign_in] Redesign API for current identity SDKs - Platform Implementations #9479

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
432a627
Initial PoC using CredentialManager
stuartmorgan-g Feb 12, 2025
df1cf87
Pathify everything for local development
stuartmorgan-g Mar 20, 2025
6a1ec7c
Remove method channel implementation
stuartmorgan-g Mar 20, 2025
49342c5
First pass rework of interface, impls, and app-facing API
stuartmorgan-g Mar 20, 2025
eba7a8b
Add nonce support
stuartmorgan-g May 2, 2025
f3d472f
Initial README updates and migration guide
stuartmorgan-g May 2, 2025
728a4f9
Rework Android calls to match recommended practice
stuartmorgan-g May 5, 2025
c165834
Synthesize sign-out event for disconnect
stuartmorgan-g May 5, 2025
dba0f3e
platform interface tests
stuartmorgan-g May 5, 2025
83c7b1d
Simplify Android Pigeon API
stuartmorgan-g May 6, 2025
82c0530
Android Dart unit tests
stuartmorgan-g May 8, 2025
4123b18
iOS Dart unit tests
stuartmorgan-g May 9, 2025
165fb78
Web Dart 'unit' tests, and fix lightweight auth return
stuartmorgan-g May 9, 2025
eda66bb
Update example apps
stuartmorgan-g May 9, 2025
21635a0
Update native unit tests, fix an Obj-C selector name
stuartmorgan-g May 13, 2025
39b7505
Update to recent 1.5 release
stuartmorgan-g May 13, 2025
07fe543
Android native unit tests
stuartmorgan-g May 14, 2025
e6c9f62
README, CHANGELOG, and version updates
stuartmorgan-g May 16, 2025
90a63aa
App-facing Dart tests
stuartmorgan-g May 16, 2025
816f614
Revert unrelated Xcode project changes
stuartmorgan-g May 16, 2025
0d46beb
Analysis fix
stuartmorgan-g May 16, 2025
a0cf078
Revert extension package changes
stuartmorgan-g May 16, 2025
0a134ec
Fix Obj-C warnings
stuartmorgan-g May 16, 2025
1b0d4d1
Missing license
stuartmorgan-g May 16, 2025
8f57604
Analyze fix
stuartmorgan-g May 19, 2025
e786998
Update excerpting
stuartmorgan-g May 19, 2025
78602e8
Merge branch 'main' into google-sign-in-authn-authz-redesign
stuartmorgan-g May 23, 2025
8783b72
Merge branch 'main' into google-sign-in-authn-authz-redesign
stuartmorgan-g May 27, 2025
7140fd0
Remove email scope
stuartmorgan-g May 27, 2025
5a587b4
Web README additions
stuartmorgan-g May 27, 2025
5f78e10
Update stream error handling, update main example
stuartmorgan-g May 27, 2025
a6036b8
Fix lightweight auth null return, and add missing tests
stuartmorgan-g May 28, 2025
9c9923c
Re-add web asserts for scope spaces
stuartmorgan-g May 28, 2025
b44ff39
Remove unused People code
stuartmorgan-g May 28, 2025
8640443
Restructure options slightly
stuartmorgan-g May 28, 2025
86a7a1d
Add TODO issue link
stuartmorgan-g May 28, 2025
4fb7fea
Add activity lifecycle tests
stuartmorgan-g May 28, 2025
563680c
Add authorize param tests
stuartmorgan-g May 28, 2025
dab117f
Test safety check, better README
stuartmorgan-g May 29, 2025
81f59f7
Analyzer
stuartmorgan-g May 29, 2025
6b76be0
Java autoformat
stuartmorgan-g May 29, 2025
9817325
excerpt update
stuartmorgan-g May 29, 2025
20a8fc5
Add stack traces to stream errors
stuartmorgan-g May 29, 2025
d6bd8bc
Handle emulators without sign-in support
stuartmorgan-g May 29, 2025
6766860
Add another missing stack
stuartmorgan-g May 29, 2025
8ad0051
Rework the stream tests to make wasm happy
stuartmorgan-g May 29, 2025
98e55b2
Merge branch 'main' into google-sign-in-authn-authz-redesign
stuartmorgan-g Jun 3, 2025
f36a6c8
Minor iOS review fixes
stuartmorgan-g Jun 4, 2025
2823a54
Add authorizationRequiresUserInteraction
stuartmorgan-g Jun 4, 2025
012a6d7
final variable in example
stuartmorgan-g Jun 5, 2025
86e9d00
Review feedback
stuartmorgan-g Jun 11, 2025
e28cae5
Merge branch 'main' into google-sign-in-authn-authz-redesign-impls
stuartmorgan-g Jun 23, 2025
a722645
Revert app-facing
stuartmorgan-g Jun 23, 2025
3e977b2
Update deps
stuartmorgan-g Jun 23, 2025
1c1ef90
build-all exclusions
stuartmorgan-g Jun 23, 2025
5289ae7
Fix build-all exclusion names
stuartmorgan-g Jun 23, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
## NEXT
## 7.0.0

* **BREAKING CHANGE**: Switches to implementing version 3.0 of the platform
interface package, rather than 2.x, significantly changing the API surface.
* Switches to Sign in with Google (`CredentialManager`) as the underlying
SDK, removing usage of the deprecated Google Sign In for Android SDK.
* Updates minimum supported SDK version to Flutter 3.27/Dart 3.6.

## 6.2.1
Expand Down
22 changes: 22 additions & 0 deletions packages/google_sign_in/google_sign_in_android/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,25 @@ should add it to your `pubspec.yaml` as usual.

[1]: https://pub.dev/packages/google_sign_in
[2]: https://flutter.dev/to/endorsed-federated-plugin

## Integration

To use Google Sign-In, you'll need to register your application, either
[using Firebase](https://firebase.google.com/docs/android/setup), or
[directly with Google Cloud Platform](https://developer.android.com/identity/sign-in/credential-manager-siwg#set-google).

* If you are use the `google-services.json` file and Gradle-based registration
system, no identifiers need to be provided in Dart when initializing the
`GoogleSignIn` instance when running on Android.
* If you are not using `google-services.json`, you need to pass the client
ID of the *web* application you registered as the `serverClientId` when
initializing the `GoogleSignIn` instance.

If you encounter `APIException` errors, double-check that you have followed all
of the registration steps in the instructions above.

You will also need to enable any OAuth APIs that you want, using the
[Google Cloud Platform API manager](https://console.developers.google.com/). For
example, if you want to mimic the behavior of the Google Sign-In example app,
you'll need to enable the
[Google People API](https://developers.google.com/people/).
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,15 @@ group 'io.flutter.plugins.googlesignin'
version '1.0-SNAPSHOT'

buildscript {
ext.kotlin_version = '2.1.10'
repositories {
google()
mavenCentral()
}

dependencies {
classpath 'com.android.tools.build:gradle:8.5.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}

Expand All @@ -20,6 +22,7 @@ rootProject.allprojects {
}

apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'

android {
namespace 'io.flutter.plugins.googlesignin'
Expand All @@ -35,6 +38,14 @@ android {
targetCompatibility JavaVersion.VERSION_11
}

kotlinOptions {
jvmTarget = '11'
}

sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}

lintOptions {
checkAllWarnings true
warningsAsErrors true
Expand All @@ -56,7 +67,10 @@ android {
}

dependencies {
implementation 'com.google.android.gms:play-services-auth:21.0.0'
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.3.0'
testImplementation 'junit:junit:4.13.2'
testImplementation 'org.mockito:mockito-inline:5.2.0'
}
Loading