Juce Web Browser doesn't support google login

When I try to login to my google account on a webview browser component, I get this error message:


After some digging it seems this issue could be due to the browser component running in a debug mode.
Is this something JUCE’s windows web browser component does - for whatever reason?

@ed95

What operating system are you using?

Windows

I’m not able to reproduce this behaviour when running a Debug build of a JUCE VST3 on Windows 11 in either Live 11.2b7 or FL Studio 20.9.2.

  • Are you using the latest JUCE develop branch? If not, please update.
  • Is your Windows install up-to-date?
  • How are you configuring the Webview component?
  • Have you tested in other hosts?
  • What kind of google log-in are you attempting? Are you doing a standard account log-in, or are you trying to use a Google account to log into a third-party service? (I’m not sure whether this would have any impact on the behaviour you’re seeing, but having more information makes it easier to diagnose the issue.)

According to this page, Google started disallowing log-ins from embedded browsers in 2021. The advice there is to switch to using browser-based OAuth authentication (i.e. open a new, non-embedded browser window for the log-in). Given that I was able to sign into my google account, perhaps the rules have changed again recently, so it’s definitely worth making sure your system is up-to-date and testing again. That said, it sounds like the OAuth approach will be safer and more robust, so you could consider going that route instead.

There’s a bit more info in this github issue

1 Like

I’m a bit confused by how you couldn’t reproduce the issue - it seems google have purposely blocked signing in using embedded browsers.
I’m using webview2 on windows 11, JUCE 7 release.
Config:

juce::WebView2Preferences()
    .withUserDataFolder(...)
    .withBuiltInErrorPageDisabled()
    .withBackgroundColour(...)
    .withStatusBarDisabled()

@reuk I’ve heard you can fix the issue by changing the browser’s user-agent - however, I can’t find a way to do this in juce