twitter终于封杀了basic auth,为了避免被拒之墙外,在Google Appengine上装了一个GTAP 0.4的版本,貌似Twitterrific可以用了,但Twitter的官方客户端还不能使用。
说起Twitter官方,那可是很纠结的一段。
最初还是tweetie的时候,特意买了一套,谁知不久twitter被封杀,tweetie不支持代理,等啊等,听说tweetie 2支持代理了,才发现之所以叫2原来是不能升级令要付钱的,嘿嘿,有点上当的感觉啊
后来,tweetie被twitter收购,变成官方,免费的客户端,高兴啊,赶快去下载,发现下的不能用,原来又升tweetie 3了,而tweetie 3只支持xAuth,比如GTAP这样的,只支持oAuth的也不能用。
没办法,偷懒不了,自己动手吧
说起xAuth,其实是oAuth的简单模式,和Basic Auth最大的不同是,不再传递用户名和密码,而是传递access_token和自签名数据,GTAP之所以不支持,是因为没有对oauth/access_token这条指令做支持。
所以,在GTAP上做了几处修改:
- 添加oauth/access_token这条指令的处理,将客户端发送过来的用户名/密码转换成access_token和access_token_secret
- 当客户端发送请求时,通过客户端发送的access_token获取access_token_secret。GTAP使用用户的密码对保存的access_token和access_token_secret进行加密