最近了解了一下第三方登入的API,包括新浪微博、腾讯微博、人人网,因为QQ的API暂时还没成功实现,所以在这里还希望有成功实现的人能给我点拨下,或者提供demo参考。
下面废话不多说,先上一张流程图,经过我的实验,大致所有的流程都是如此:
有人会问为什么第三方登入成功后还要绑定账号,其实也可以不绑定。
如果你的站点本身就没有会员功能,你可以把验证成功后返回的UID当作用户账号,返回回来后判断该UID是否已存在于数据库内,如果有则自动登入,如果没有后台会帮你创建好一条记录并自动登入,这样就实现了一个无需注册,完全使用某第三方网站账号登入的功能。
上图因为考虑到现有的站点已经有会员功能,需要整合一个第三方网站的账号登入功能,所以需要一个绑定的过程。
关于API就不多介绍了,下面提供一个新浪微博的账号登入demo,可以让大家更明白的了解大致流程。
// 弹出登入窗口 WB2.login( function (){
// 验证是否登入成功
if (WB2.checkLogin()){
// api 入口
WB2.anyWhere( function (W){
// 调用 account/get_uid 接口,获取用户信息
W.parseCMD( '/account/get_uid.json' , function (oResult, bStatus){
if (bStatus){
// 本地验证 uid 是否存在,如果存在则自动登入绑定账户,不存在则不做任何操作
$.ajax({
type: 'POST' ,
url: 'index.ajax.php' ,
data: 'ac=checkReg&uid=' +oResult.uid+ '&type=1' ,
success: function (msg){
if (msg == 1){
// 已登入,刷新页面
location.reload();
} else {
// 未绑定账号,进行绑定或者注册
// do something
}
}
});
}
}, {}, {
method : 'get' ,
cache_time : 30
});
});
}
}); |
最后回到本文第一句,关于QQ登入的实现,还没有做出来,如果有人知道,希望能在下面留言告诉我,跪谢~
本文转自胡尐睿丶博客园博客,原文链接:http://www.cnblogs.com/hooray/archive/2012/11/17/2774499.html,如需转载请自行联系原作者