Fluid: when I try to login, my Fluid App launches the default browser instead

I've created a Fluid App for my favorite website.

But there's a problem when I try to login to the website in the Fluid App I created: my default web browser (in my case, Safari) launches instead.

Why can't I login? Why does my Fluid App defer browsing to my default browser when I try to login to the website?


Solution 1:

Fluid Apps try to keep your browsing limited to the website or webapp you chose when you created the Fluid App. Therefore, any Fluid App will send you to your system default web browser (like Safari or Firefox) if you browse to a URL "outside" that website.

Now, determining what constitutes a "website" is more black art than exact science. "Website" is in scare quotes because a website is a rather vague idea that may include documents and resources that are located on different servers... and therefore located in different URL domains.

Also, the login flow for many websites often quickly and quietly redirects you thru several URLs that may or may not look anything like the home URL you provided. This will cause Fluid to defer browsing to the system default browser.

Your Fluid App looks at any URL it is asked to display and tries to guess whether the resource at that URL is part of the same "website" as the home URL you provided. This is a tricky guessing game, and Fluid can never be 100% accurate out of the box.

The good news is that Fluid has a whitelist/blacklist feature for allowing/disallowing browsing to any URL pattern you choose. Basically, you need to define what constitutes your Fluid App's "website" to control what your Fluid App is allowed to do.

To configure this feature, go to your Fluid App's Application Menu (to the right of the Apple menu):

Preferences > Whitelist Preference Pane

Fluid App Whitelist PreferencePane

In the Whitelist Prefpane, you can add/edit/remove URL patterns that will keep your Fluid App browsing only to URLs you would like. Select the "Allow browsing to URLs matching these patterns:" radio button.

In the "Pattern" table below, you should add a Wildcard Pattern for any URL which you want to your Fluid App to visit. Star ("*") is a special Wildcard character in this table. Star means "match anything here", and is a powerful way to easily include or exclude very large groups of URL patterns.

Alternatively, you can use full Regular Expressions instead of Wildcard Patterns by wrapping your URL pattern in forward slashes / like: /http:\/\/google\.com\/.+/. If you don't know what Regular Expressions are, forget I mentioned them. They're much more complicated, and Wildcard Patterns can almost always get the job done more easily.

If you find that your Fluid App is unnecessarily kicking you out to your default browser (say, Safari) you should try to determine the first URL that is loaded in Safari. This first URL is the one that Fluid thinks is not part of your "website". After determining that URL, you should add a pattern to the table described above to match that URL. I suggest applying stars liberally to the pattern so that Fluid will be more accepting of browsing to a similar URL.

Fluid also ships with a fair amount of "special case" code by default for some of the more well-known webapps. Basically, this means that Fluid has a collection of URL patterns that are known to work for some of the more popular webapps (especially ones that quickly redirect you to URLs that don't match the common home URLs), and Fluid will automatically insert these patterns on first launch. Gmail is a good example and the default patterns for Gmail are shown in the screenshot above.

Solution 2:

Todd's answer is correct, however, Google has since updated their URLs slightly, so...

instead of:

*google.com*/accounts/ServiceLoginAuth*

use:

*google.com*/ServiceLoginAuth*

PS I don't have enough rep to post this as a comment on the original answer :/

Solution 3:

If you're trying to do this with a local file, add the pattern file://* and everything works fine.