準備javascript
註冊QQ互聯開發者身份java
須要去騰訊QQ互聯註冊:https://connect.qq.com/。api
準備好網站cookie
網站要基本開發完成。網站域名,Logo等都有。app
建立應用post
在QQ互聯管理中心建立應用。測試
部署測試網站
添加登陸入口ui
在登陸頁面<head></head>中引入:spa
<script type="text/javascript" src="http://qzonestyle.gtimg.cn/qzone/openapi/qc_loader.js" data-appid="APPID" data-redirecturi="REDIRECTURI" charset="utf-8"> </script>
官方提供的登陸按鈕代碼,可直接將代碼貼到你想要放置入口的位置就行:
<span id="qqLoginBtn"></span> <script type="text/javascript"> QC.Login({ btnId:"qqLoginBtn" //插入按鈕的節點id });</script>
3.回調頁面
<script type="text/javascript" src="http://qzonestyle.gtimg.cn/qzone/openapi/qc_loader.js" data-appid="APPID" data-redirecturi="REDIRECTURI" charset="utf-8"> </script>
<script type="text/javascript"> function getInfo() { if(QC.Login.check()){ QC.api("get_user_info") .success(function(s){//成功回調 QC.Login.getMe(function(openId, accessToken){ $.post('/你的後臺處理Action',{name:s.data.nickname,openid:openId,otype:1,token:accessToken},function(data,status){ if(status=="success"){ alert(s.data.nickname+"恭喜你,登陸成功!"); location.href = "/"; }else{ alert("獲取用戶信息成功!登陸失敗!"); location.href = "/blog/to/login"; } }) }) }) .error(function(f){//失敗回調 alert("獲取用戶信息失敗!登陸失敗!"); location.href = "/blog/to/login"; }) .complete(function(c){//完成請求回調 //alert("獲取用戶信息完成!"); }); }else{ alert("請登陸!"); location.href = "/blog/to/login"; } } </script>
4.後臺處理步驟:
- //判斷openid是否存在。 - // 若是openid存在,則說明此用戶以前登陸過或者已與本地user表中的用戶綁定。寫入cookie,使用戶爲登陸狀態,到此結束。 - //若是用戶openid不存在,則判斷用戶名是否存在。 - //若是用戶名不存在,則直接生成新的本地用戶,並綁定uid與openid。寫入cookie,使用戶爲登陸狀態,到此結束。 - //若是用戶名存在,提醒用戶是否驗證並與之綁定。若是用戶選擇驗證,並驗證經過,則與之綁定。寫入cookie,使用戶爲登陸狀態,到此結束。 - //若是用戶放棄驗證,或者驗證失敗,則生成新的本地用戶,並生成新的用戶名,綁定uid與openid。寫入cookie,使用戶爲登陸狀態,到此結束。