There are many StackOverflow posts about this issue, but none that offer a workaround for web apps to log into services via Google Web Auth in an embedded browser like Facebook/Facebook Messenger on iOS; but I discovered that Pinterest's web log in with Google button seems to be working, so I was wondering if someone has an idea how they got it to work.
Google disallowed logging into Google from webviews a few years ago, and Auth0 also made a blog post about workarounds, but it all seems to focus on native apps, not web apps that offer Google as a login option.
But my company's app is a web-app, and we'd like it if when someone shares a link to our site on Facebook Messenger/Facebook posts, users can log in with Google even if they don't pop out the native Safari browser. Based on the above documentation it would seem that that's not possible - but actually I discovered that Pinterest's "Sign in with Google" button does work! So it appears there's a way to get Google login working (not sure if they swung a special deal with Google, or if they're doing something we/Auth0 can be doing too, though).
Repro steps:
- Open Facebook Messenger in iOS (this should roughly work with Facebook too, but this demonstrates the issue)
 - Send yourself a message with the URL 
https://community.auth0.com - Click on the link to the Auth0 Community forum
 - Click on Log In
 - Click on Log in with Google
 - See that you get a 403: disallowed_useragent error.
 
And to prove that there does seem a way for this to be done in the wild:
- Ensure your phone doesn't have Pinterest installed (or else your phone will open it in the native app).
 - Open Facebook Messenger in iOS
 - Send yourself a message with the URL 
https://pinterest.com - Click on the Pinterest link
 - Click on "Sign in with google"
 - Somehow, it doesn't error when Pinterest does it!
 
Anyone have an idea what's going on here?
This issue has been cross-posted to Auth0's support community forum, since my team implements Google Auth through Auth0, but it seems generally relevant beyond Auth0.
EDIT: some more details from looking at the Google OAuth endpoint URLs my site vs Pinterest's:
Looking at the Google oauth URL my site uses vs Pinterest's, I see a few differences:
- Mine goes to 
https://accounts.google.com/o/oauth2/auth, theirs goes tohttps://accounts.google.com/o/oauth2/auth/identifier - Theirs has a few extra query parameters mine doesn't:
 
["openid.realm", ""]
["ss_domain", "https://www.pinterest.com"]
["fetch_basic_profile", "true"]
["gsiwebsdk", "2"]
["flowName", "GeneralOAuthFlow"]
- Theirs has a different value for 
response_typeofpermission id_token, mine iscode 
not sure what would have an effect though.
EDIT: Same issue in this StackOverflow post from several months ago but no activity, and this one from 4 years ago but they claim there's no way - which seems to not be true since Pinterest is able to pull it off! Meanwhile both Spotify and StackOverflow also fail with this error. Maybe it's an inside deal...