[google_sign_in] Implement hosted domain on Android#9871
Merged
auto-submit[bot] merged 4 commits intoflutter:mainfrom Aug 28, 2025
Merged
Conversation
Adds support for hosted domain filtering on Android. This was wired up for `authorize` (which would apply when calling `authorize` without a user set), but not for `authenticate`, because the first draft of Android support only used the one-tap flow, which doesn't have domain filter support, and I forgot to add it when I added the button flow. Because one-tap doesn't support the filtering feature, this adjusts the way the `attemptLightweightAuthentication` is handled when a filter is set. Instead of following the usual guidance to call it first with `filterToAuthorized` and `autoSelectEnabled` (for returning sign-in), then again without (for one-tap UI), it will only do the first call, which means it will allow returning sign-ins, but not show a general one-tap selection UI that could allow seleting an account that doesn't meet the filter requirement. (In theory, there are cases where this would be wrong if someone changed their filtering dynamically from run to run, but I can't imagine why that would be done, and in that case there's nothing that can be done with the current SDK support anyway, so if someone really wants to do that they need to just not call `attemptLightweightAuthentication`.) Fixes flutter/flutter#174200
There was a problem hiding this comment.
Code Review
This pull request successfully implements hostedDomain filtering on Android for Google Sign-In. The changes are well-implemented across the native and Dart layers, including necessary updates to the Pigeon communication files. The logic correctly handles the limitations of the one-tap sign-in flow, which doesn't support domain filtering. New tests have been added to cover the new functionality. The only issue I've found is a minor formatting problem in the CHANGELOG.md file.
ash2moon
approved these changes
Aug 28, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/flutter
that referenced
this pull request
Aug 29, 2025
github-merge-queue bot
pushed a commit
to flutter/flutter
that referenced
this pull request
Aug 29, 2025
flutter/packages@141d8e3...a3f09e5 2025-08-28 stuartmorgan@google.com [google_sign_in] Implement hosted domain on Android (flutter/packages#9871) 2025-08-28 monteiroamelo@gmail.com [google_maps_flutter_platform_interface] Add cameraControl enable/disable & position on web (flutter/packages#9897) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages-flutter-autoroll Please CC flutter-ecosystem@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
mboetger
pushed a commit
to mboetger/flutter
that referenced
this pull request
Sep 18, 2025
flutter/packages@141d8e3...a3f09e5 2025-08-28 stuartmorgan@google.com [google_sign_in] Implement hosted domain on Android (flutter/packages#9871) 2025-08-28 monteiroamelo@gmail.com [google_maps_flutter_platform_interface] Add cameraControl enable/disable & position on web (flutter/packages#9897) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages-flutter-autoroll Please CC flutter-ecosystem@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
korca0220
pushed a commit
to korca0220/flutter
that referenced
this pull request
Sep 22, 2025
flutter/packages@141d8e3...a3f09e5 2025-08-28 stuartmorgan@google.com [google_sign_in] Implement hosted domain on Android (flutter/packages#9871) 2025-08-28 monteiroamelo@gmail.com [google_maps_flutter_platform_interface] Add cameraControl enable/disable & position on web (flutter/packages#9897) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages-flutter-autoroll Please CC flutter-ecosystem@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Jaineel-Mamtora
pushed a commit
to Jaineel-Mamtora/flutter_forked
that referenced
this pull request
Sep 24, 2025
flutter/packages@141d8e3...a3f09e5 2025-08-28 stuartmorgan@google.com [google_sign_in] Implement hosted domain on Android (flutter/packages#9871) 2025-08-28 monteiroamelo@gmail.com [google_maps_flutter_platform_interface] Add cameraControl enable/disable & position on web (flutter/packages#9897) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages-flutter-autoroll Please CC flutter-ecosystem@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
lucaantonelli
pushed a commit
to lucaantonelli/flutter
that referenced
this pull request
Nov 21, 2025
flutter/packages@141d8e3...a3f09e5 2025-08-28 stuartmorgan@google.com [google_sign_in] Implement hosted domain on Android (flutter/packages#9871) 2025-08-28 monteiroamelo@gmail.com [google_maps_flutter_platform_interface] Add cameraControl enable/disable & position on web (flutter/packages#9897) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages-flutter-autoroll Please CC flutter-ecosystem@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds support for hosted domain filtering on Android. This was wired up for
authorize(which would apply when callingauthorizewithout a user set), but not forauthenticate, because the first draft of Android support only used the one-tap flow, which doesn't have domain filter support, and I forgot to add it when I added the button flow.Because one-tap doesn't support the filtering feature, this adjusts the way the
attemptLightweightAuthenticationis handled when a filter is set. Instead of following the usual guidance to call it first withfilterToAuthorizedandautoSelectEnabled(for returning sign-in), then again without (for one-tap UI), it will only do the first call, which means it will allow returning sign-ins, but not show a general one-tap selection UI that could allow seleting an account that doesn't meet the filter requirement. (In theory, there are cases where this would be wrong if someone changed their filtering dynamically from run to run, but I can't imagine why that would be done, and in that case there's nothing that can be done with the current SDK support anyway, so if someone really wants to do that they need to just not callattemptLightweightAuthentication.)Also updates to the latest version of Pigeon since I was regenerating the Pigeon files already.
Fixes flutter/flutter#174200
Pre-Review Checklist
[shared_preferences]pubspec.yamlwith an appropriate new version according to the pub versioning philosophy, or I have commented below to indicate which version change exemption this PR falls under1.CHANGELOG.mdto add a description of the change, following repository CHANGELOG style, or I have commented below to indicate which CHANGELOG exemption this PR falls under1.///).Note: The Flutter team is currently trialing the use of Gemini Code Assist for GitHub. Comments from the
gemini-code-assistbot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.Footnotes
Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling. ↩ ↩2 ↩3