有人会问为什么第三方登入成功后还要绑定账号,其实也可以不绑定。
如果你的站点本身就没有会员功能,你可以把验证成功后返回的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
});
});
}
});