Over the past couple of months the Twitter API Google Group has been overflowing with more and more disgruntled developers complaining about lack of bug fixes, slow rollout of promised features, no mobile interface for OAuth, etc. (The list goes on and on) Well I'm happy to say Twitter appears to be almost done with one much requested feature: browserless OAuth credentials exchange. It was hinted that Seesmic Look was using said exchange so today I took a peek at how Look worked behind the scenes.
To start off Look is using the standard oauth/access_token endpoint on the new https://api.twitter.com subdomain.
In addition to the standard POST headers, Look adds several values that include a username and password for the specific user.
The return value is an access_token as expected plus x_auth_expires whose meaning I can only guess at.
I didn't bother to try the exchange with my own consumer key but I would assume access is limited to specific partners for now.
As excited as I am for using browserless OAuth I'm afraid developers with be lazy and implement the credential exchange instead of the full OAuth flow even in environments well suited to jumping from application to browser.
What do you think of the credentials exchange method?
UPDATE: TweetDeck is also using the new OAuth method.
UPDATE2: The xAuth documentation is live.
To start off Look is using the standard oauth/access_token endpoint on the new https://api.twitter.com subdomain.
In addition to the standard POST headers, Look adds several values that include a username and password for the specific user.
The return value is an access_token as expected plus x_auth_expires whose meaning I can only guess at.
I didn't bother to try the exchange with my own consumer key but I would assume access is limited to specific partners for now.
As excited as I am for using browserless OAuth I'm afraid developers with be lazy and implement the credential exchange instead of the full OAuth flow even in environments well suited to jumping from application to browser.
What do you think of the credentials exchange method?
UPDATE: TweetDeck is also using the new OAuth method.
UPDATE2: The xAuth documentation is live.
I'm assuming you know about this, but in case not...
ReplyDeleteAral's OAuth post from today ( http://aralbalkan.com/3057) links to a "xAuth" standards draft ( http://tools.ietf.org/html/draft-dehora-farrell-oauth-accesstoken-creds-01 ) which describes something similar to (or precisely) what you found, described above.
In answer to your "x_auth_expires=0" question:
ReplyDeleteo x_auth_expires - a timestamp, in seconds since 1970-01-01T00:00,
at which the Access Token expires, or 0 if no expiry is specified.
Isaiah
Wait a minute. Isn't the *whole point* of OAuth to avoid credential exchange? Am I missing something here or is this... I don't even know what to call it.
ReplyDelete@John: xAuth is designed for use in mobile and destkop environments where there is now web browser or where user experience is prohibitive to use of the application.
ReplyDelete