Both Android and IOS devices have a mechanism to detect captive portal on Guest Wifi networks. Whenever a captive portal is detected, these devices start an embedded browser
I'm not cool enough to comment apparently, so I'll just reply that despite @nvagr stating that google will not be broken in the CNA, it is. You cannot log in using Google oAuth on an iOS device. You'll get a 403: disallowed_useragent because it uses the CNA.
Update 12/12/19: Google will no longer exempt OAuth clients to enable logging in to a Google account within captive portal assistants. As mentioned in the original post, Google announced in August 2016 that it would remove support for Google Sign-In products displayed inside embedded web views starting on April 20, 2017.
If you are experiencing this issue with Apple captive portals, a user encountering an issue inside Captive WebSheets can currently gain access to the network by taking a few additional steps:
Alternatively, a user could choose to use the network by selecting the "Without Internet" option when prompted and navigating to a URL in the Safari browser.
If you are unable to use Google Sign-In for non-Apple captive portals, Google Sign-in is unfortunately not supported at this time.
Update 1/23/2019: If you do have a client that need to do a sign-in inside the captive portal, please send the client id, description of your portal and users and other details to oauth-feedback@google.com
Update (4/7/2017): For now we have decided that we'll not break the Google sign-ins within captive portals. If you do have a client that is broken, send me the client id.
Thanks William for this note regarding Captive portal. We (Google Identity team) need to do some investigation to decide how to best support your use case. I'll reply back on this thread. Stay tuned.