Anders,
You're correct that the authentication model is different. Philosophically, this is due to the fact that Firebase clients are designed for mobile clients and third party authentication (end user w/social providers, for instance), while Google Cloud Platform clients are designed for second party authentication by a trusted server. Desktop (in particular things like Desktop Java/C++ and OSX) spans a weird place where it's not mobile and may not use the same social authentication, but it is still third party authentication ("on behalf of the user," as you said).
I can't say that we have any plans for desktop Java for client side apps at the moment, though we do support Node (so you could build an
Electron app) and are investigating scenarios where that client could be used for 2nd or 3rd party authentication, depending on how the developer configured the client.
Thanks and sorry I don't have a better answer for this,
--Mike