最近了解了一下第三方登入的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登入的實現,還沒有做出來,如果有人知道,希望能在下面留言告訴我,跪謝~
