Adium

Opened 5 years ago

Closed 2 years ago

Last modified 21 months ago

#16161 closed defect (fixed)

Implement X-OAUTH2 for GTalk

Reported by: sphynx Owned by:
Milestone: Component: Service/Google Talk
Version: 1.5.3 Severity: normal
Keywords: oauth Cc:
Patch Status:

Description

Google is planning to deprecate X-GOOGLE-TOKEN (which we've never supported) and PLAIN for XMPP. That leaves Adium with no way to authenticate unless we implement their OAuth2 support.

We could abstract our Facebook OAuth2 code to do this (and possibly also add MSN's OAuth2 XMPP support).

More info: http://mail.jabber.org/pipermail/standards/2012-September/026802.html.

Change History (13)

comment:1 Changed 5 years ago by Thijs Alkemade <thijsalkemade@…>

(In a761745f82a1) Started working on OAuth2 support for GTalk.

Abstracted the OAuth2 support of Facebook into a separate AIPurpleOAuthJabberAccount.

Logging in on GTalk gets to the auth token.

Refs #16161

comment:2 Changed 2 years ago by sphynx

Ticket #16875 has been marked as a duplicate of this ticket.

comment:3 Changed 2 years ago by HerbCSO

Given that the Apr 20, 2015 deadline when Google will completely shut off old authentication protocols (see https://developers.google.com/accounts/docs/OAuth) is fast approaching, what's the status here? Will Adium stop working entirely for GChat after that date or are there other alternatives I'm not aware of?

comment:4 Changed 2 years ago by sphynx

As GTalk's XMPP support's days seem to be numbered, I don't really feel like spending more effort on implementing Google's custom crap when they could be shutting down the servers any day. (Even though I don't buy it myself, there's a pretty persistent rumor it will shut down completely on Feb 16.)

comment:5 Changed 2 years ago by HerbCSO

Ah. I had not heard that. Well, guess I'm gonna be looking for a new chat client if that happens... :( Shame, but I get it. Thank you for your quick response.

comment:6 Changed 2 years ago by sphynx

Sorry, I regret the harsh tone of my previous comment. I'd like to be able to continue to use GTalk myself for as long as I can in Adium, so I'll try to work on this before the 20th.

comment:7 Changed 2 years ago by sphynx

I don't think I'll use the WIP code from the first comment, for the single reason: it was based on using a WebKit view in Adium for the authentication (like we do with Facebook). This has a big downside:

The cookie settings for WebKit views in other apps are stupid. They can either leave managing cookies up to the application itself (retrieving them manually from the HTTP response, keeping up with all modifications of the cookies in JS), or it can share them with Safari. The Facebook login uses the former, but it is not perfect and broke a couple of times. Sharing them with Safari will lead to big problems when the user is already signed in in Safari and they are trying to set up a different account in Adium.

So I'd rather just open a URL in the user's current browser, let them do their thing there and let it open a custom URL scheme that passes the data back to Adium when they're done.

comment:8 Changed 2 years ago by Thijs Alkemade <me@…>

(In 422e6c62f68e) Started again to work on the X-OAUTH2 mechanism for Google Talk. Refs #16161

Will open the user's browser and prompt them to enter the code, but doesn't do anythign with it yet.

comment:9 Changed 2 years ago by HerbCSO

That's great news - thanks for continuing to work on this!

comment:10 Changed 2 years ago by Thijs Alkemade <me@…>

  • Resolution set to fixed
  • Status changed from new to closed

(In 4a7c414c0b2d) Merged GoogleOAuth2 into adium-1.5.11. Fixes #16161.

comment:11 Changed 22 months ago by tog22

Is this meant to require reauthenticating multiple times while Adium is open, which is what's happening to me with the current beta?

comment:12 Changed 21 months ago by iandavid

I too am seeing frequent prompts to re-authenticate. It usually happens when I switch networks (i.e. carry my laptop between home and work) but it sometimes happens after the computer wakes up from sleep mode. I should note that I have 3 Google Talk accounts configured in Adium, and usually only one or two of them require re-authenticating, so perhaps it's a side-effect of having multiple accounts?

Since this ticket is about the original implementation, I don't want to clutter it with more metoos, but I wanted to ask if there's a follow-up ticket for the re-authentication bug that we can link to. If not I'll happily create one with the above information and reference it here.

comment:13 Changed 21 months ago by jarome

It is not fixed because Adium is not remembering the token it gets from Google. I have to redo it every time gtalk disconnects.

Note: See TracTickets for help on using tickets.