Skip to content

Conversation

stuartmorgan-g
Copy link
Collaborator

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.)

Also updates to the latest version of Pigeon since I was regenerating the Pigeon files already.

Fixes flutter/flutter#174200

Pre-Review Checklist

Note: The Flutter team is currently trialing the use of Gemini Code Assist for GitHub. Comments from the gemini-code-assist bot 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

  1. 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

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
Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@stuartmorgan-g stuartmorgan-g added the autosubmit Merge PR when tree becomes green via auto submit App label Aug 28, 2025
@auto-submit auto-submit bot merged commit a3f09e5 into flutter:main Aug 28, 2025
80 checks passed
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 [email protected] [google_sign_in] Implement hosted
domain on Android (flutter/packages#9871)
2025-08-28 [email protected]
[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 [email protected] 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
autosubmit Merge PR when tree becomes green via auto submit App p: google_sign_in platform-android
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Hosted Domain Not Working Properly On Google Sign In 7.1.1
2 participants