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