编程点滴

FOR WEB WINFORM DEVELOP!!

导航

GoogleReader用户登陆验证

Posted on 2011-02-18 14:07  grayboy  阅读(3528)  评论(2编辑  收藏  举报

google账户支持多种认证方式,详细可参考http://code.google.com/intl/zh-CN/apis/accounts/

在做GoogleRead的帐号验证我选取了ClientLogin

利用 ClientLogin,您的桌面或移动设备应用程序能够将编程登录并入其界面中。与通过各个请求发送用户的登录凭据相比,ClientLogin 是一个更好的选择;ClientLogin 有着更好的效果和更高的安全性。(摘自google官方介绍)

请求 google登录接口
https://www.google.com/accounts/ClientLogin
参数
POST parameter name POST parameter value
service 'reader' (可选)
Email google账号
Passwd 密码
source 客户端的标识 例如 Mobile Newspaper/0.1 (可选)
continue 'http://www.google.com/' (可选) 

返回值:SID=DQAAAIIAAADLOgquebmwAmluwdkqloneF3FvQAZZvG6EcPSqHLeXrBhfM1VFr2S36FT3C9YHNvzqjQl5ugBMlUgePDhtONnJujvUOrF11QV_DSg4I03b4HLndFnRQzZ2KmidxorykoB-3mf-gQH8NWmYOVYh-VXyM1Hursdr0tBatDDedQqs4R9CfZUzc9WV2erbKHmifF8
LSID=DQAAAIQAAACXQ9n7yPnAL7I18wEWQRx7lY4mssTO3aZ8NOn69h38fPBPzehq2jMyDIlqyetB2wVqu9_GKBxEwPbokfL-89a0hrXUNNFp4RQbV2tKiiuIGIcPLGA6n8mkkn4-4E3TxCnxSzvSiX1Pt2Q4zUhifDzSZ2NHZLw2TCXotsdpHpy18raGnWto3FoVSyxYe9EAafA
Auth=DQAAAIUAAACXQ9n7yPnAL7I18wEWQRx7lY4mssTO3aZ8NOn69h38fPBPzehq2jMyDIlqyetB2wUc1Ls7OzGP0qnFCvjbIi1EZz_3kvNLcjIm9N_ZD5yFu0TxbJLUH3oskRAM5s8ffGQPKKtFEWzHqAAQLEO-R-BViHsVOuox5zbcFmeIQbGXoY1Hy1YkZnTWg5HeaIbIWAE

拿到返回值后,

1,分离出 SID,添加cookie
    domain .google.com
    path /
    expires 1600000000

2,分离出Auth,添加webRequest.Headers.Add("Authorization", "GoogleLogin auth=" + Auth的值

登陆完成,具体实现代码见下一篇,稍后送上!