How to authenticate with Chrome sync XMPP servers?

Viewed 4737

I need to get the currently opened tabs of a Google Chrome user in my Java application (not on the same machine). Chrome sync is enabled so the current tabs are synced with Google servers.

According to the documentation of Chrome sync it is done via XMPP. So I guess it should be possible to connect to the Google XMPP server (xmpp.google.com), e.g. via Smack (Java library for XMPP), authenticate and listen for protobuf messages that indicate a tab session change. Of course the login credentials of the user or the "client_id" Chrome uses to identify clients are available.

But I'm having a hard time getting behind the authentication method that is used to connect to the XMPP server – I can't figure out how it's done in the Chromium source code and there's no documentation available besides the very low-level comments in the code. The libjingle library Google uses for it's XMPP based services is only available for C++ and not well maintained/documented.

So is there anyone who has done something like that before and who can give any advice/hints on how the authentication process works?

1 Answers
Related