最近了解了一下第三方登入的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
            });
        });
    }
});
posted on
2012-11-18 12:39 
HackerVirus 
阅读(547
评论(0
编辑 
收藏 
举报

版权声明:本文为Leo_wl原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/Leo_wl/archive/2012/11/18/2775791.html