Skip to content

Google sign-in errorGoogle sign-in: “Access blocked” Error 403: disallowed_useragent

Users tap Sign in with Google and get Access blocked: this app’s request doesn’t comply with Google’s policies, Error 403: disallowed_useragent. Google refuses to show its sign-in page inside an embedded web view. It happens in apps that wrap a website in a WebView, and to people who open your site from a link inside Instagram, Facebook, TikTok or LinkedIn. Here is the rule, in Google’s words, and the fix for each case, or hand it over at a fixed price.

Short answer

Google sign-in must open in the device’s real browser or through Google’s native sign-in SDK, not inside a WebView. In your own app, switch to the native Google Sign-In SDK, or open the sign-in URL with ASWebAuthenticationSession on iOS and Custom Tabs on Android. For visitors arriving from social apps, detect the in-app browser and ask them to open the page in their browser, and offer email sign-in as a fallback.

Where the sign-in page is opening, and the fix

  1. 01

    Google blocks sign-in inside embedded web views

    “The authorization endpoint is displayed inside an embedded user-agent disallowed by Google's OAuth 2.0 Policies.” Google, OAuth 2.0 for client-side web applications: error codes

    An embedded web view lets the app around it read what the user types, so Google refuses to show its sign-in page there. The block applies whatever your OAuth settings say.

  2. 02

    Your app shows the website in a WebView

    “iOS and macOS developers may encounter this error when opening authorization requests in WKWebView.” Google, OAuth 2.0 for client-side web applications: error codes

    Apps that wrap a web app, such as many Capacitor and Cordova apps, open Google’s page inside the same WebView. Google names Google Sign-In for iOS and OpenID Foundation’s AppAuth as the iOS libraries to use. The other route is opening the sign-in URL in the system browser sheet: ASWebAuthenticationSession on iOS, Custom Tabs on Android. Supabase and Firebase both document native and redirect-based Google sign-in.

  3. 03

    Visitors open your site from a social app

    “Web developers may encounter this error when an iOS or macOS app opens a general web link in an embedded user-agent” Google, OAuth 2.0 for client-side web applications: error codes

    Links tapped inside Instagram, Facebook, TikTok or LinkedIn open in that app’s own browser, which counts as embedded. You can’t change those apps, so detect the in-app browser from the user agent, show a short “Open in your browser” prompt before the Google button, and keep email or magic-link sign-in available.

  4. 04

    Test it the way users arrive

    Signing in from Safari or Chrome proves nothing here. Simon tests from inside the wrapped app on a real phone, and from a link posted in Instagram and opened in its browser, before calling it fixed.

Checked against the vendor’s docs on : Google Identity: OAuth 2.0 error codes (disallowed_useragent).

Rather hand it over?

Fixed scope, fixed price, paid upfront. The work happens in writing; no call needed.

Related: Google sign-in redirect_uri_mismatch · “Google hasn’t verified this app” · Firebase Google sign-in popup blocked

Questions

More on this error

Can I change the user agent so Google doesn’t notice?

Don’t. It breaks Google’s policies, the detection changes without notice, and the sign-in can stop working for every user at once. Use the system browser or the native SDK.

Can you fix it for me?

If one bug is the whole problem, the App Fix Ticket covers it: a written diagnosis first, then the fix. If the app has more going on, the Launch Check is a written check of the whole app. Each issue found is rated critical, high, medium or low, with where it is and how it was confirmed. No issues worth fixing, no charge. If the Launch Check finds nothing rated medium or higher, Simon refunds the full $450. You keep the report either way. This applies to the first 10 Launch Checks bought after October 30, 2026.

A different error?

Describe it and get a written quote

Send the error and what you were doing. You get a written scope, a fixed price and a timeline; Simon replies by email, usually within one business day.