遗忘海岸

江湖程序员 -Feiph(LM战士)

导航

网站整合QQ登录

QQ官方的解释其实有点纠结,但是提供的Demo还是比较清晰的,对一般有会员模块的网站来说,只要20来行代码就可以集成QQ登录功能
参考QQ官方文档:http://wiki.opensns.qq.com/wiki/%E3%80%90QQ%E7%99%BB%E5%BD%95%E3%80%91Qzone_OAuth%E8%AE%A4%E8%AF%81%E7%AE%80%E4%BB%8B

 

QQ 登录说白了就是由QQ网站发起一个请求到第三方网站(你的网站),注意的是这里的请求不是直接由Qzone服务器发给你的服务器,而是由Qzone服务器发出的重定向命令给用户的浏览器,再由浏览器请求你的跳转页,你网站的跳转页收到请求并核对后就将用户设置成登陆状态。其中需要验证请求确实是Qzone发给你的,另外Qzone服务器也需要确认消息是你网站发出的,
所以你需要对消息进行签名,你需要到官网申请一个签名用的AppId,跟Secretkey,为了防止消息被重发(重放攻击),消息加上了时间戳(5分钟)
那么具体将那个用户设置成登录状态呢?这里就需要使用QQ发起登时附带的OpenId来确定,因此你需要在网站数据库里建立OpenId跟用户帐号的对应记录。

 

posted on 2011-08-26 10:11  遗忘海岸  阅读(1938)  评论(0编辑  收藏  举报