The app I'm writing is connecting to a XMPP server, and if the user chooses, I want to give them the option to connect to their google chat account, without having to enter the credentials...
To do this, I'd get the permission to use the google account, get the token and authenticate to google talk (XMPP server, using Smack) using the token..
The problem is.. how do I do that? I mean, how do I authenticate to the GTalk server if I know the login and the token?
Any ideas, insights? :)
If not, maybe anyone knows where could I find someone that knows? (Google contacts, anyone? :P )
You're looking for documentation on the X-GOOGLE-TOKEN SASL mechanism. This should be the beginning. Use service=mail:
https://www.google.com/accounts/ClientLogin?
accountType=GOOGLE&
[email protected]&
Passwd=YOURPASSWORD&
service=mail
Which will return 200 OK
and three values:
SID=<long string>
LSID=<long string>
Auth=<long string>
Parse out the Auth string, then construct a string with this form:
jidAndToken ="\0" + UTF8([email protected]) + "\0" + Auth
(where "\0" is intended to be a single octet with value zero). Use this in the initial SASL auth:
<auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl'
mechanism='X-GOOGLE-TOKEN'>Base64(jidAndToken)</auth>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With